当前位置: 首页 > wzjs >正文

衡水移动端网站建设百度人工服务热线

衡水移动端网站建设,百度人工服务热线,新手做网站做什么样的,网站建设服务公司专业服务学习笔记(36):用概率密度方式来了解:正态分布拟合曲线一、用概率密度方式来了解:正态分布拟合曲线用 “货架和水” 的例子,逐行拆解这段代码的逻辑,保证你能秒懂~先明确代码要做什么这段代码在画一条 “理论上的房价分…

学习笔记(36):用概率密度方式来了解:正态分布拟合曲线

一、用概率密度方式来了解:正态分布拟合曲线

用 “货架和水” 的例子,逐行拆解这段代码的逻辑,保证你能秒懂~

先明确代码要做什么

这段代码在画一条 “理论上的房价分布曲线”(假设房价符合正态分布),并让这条曲线和实际数据的直方图对齐。关键是理解公式 stats.norm.pdf(x, mu, sigma) * len(data) * (x.max() - x.min())/100 的含义。

用 “货架和水” 类比代码中的变量

假设我们有 1000 套房子(总样本量),房价范围是 100-600 万。我们想画一条正态分布曲线,看看 “理论上” 房价应该怎么分布。这就像:

  • 总样本量 len(data) → 货架上总共有 200 瓶水(前面例子)。
  • 房价范围 x → 货架总长度 10 米(0-10 米)。
  • 正态分布的概率密度 stats.norm.pdf(x, mu, sigma) → 货架上每米的 “水占比密度”(比如 A 区每米占总水量的 15%,即 0.15 概率 / 米)。

逐行拆解代码

# 1. 拟合正态分布参数(类比:计算货架上的平均水量和波动)
mu, sigma = stats.norm.fit(data[price_col])# 2. 生成100个均匀分布的房价点(覆盖整个房价范围)
# 类比:把10米货架分成100个小区间,每个区间宽0.1米
x = np.linspace(data[price_col].min(), data[price_col].max(), 100)# 3. 绘制正态分布曲线(重点!)
plt.plot(x, stats.norm.pdf(x, mu, sigma) * len(data) * (x.max() - x.min()) / 100,'r--', linewidth=2, label=f'正态分布拟合: μ={mu:.2f}, σ={sigma:.2f}')

核心公式解析:stats.norm.pdf(x, mu, sigma) * len(data) * (x.max() - x.min()) / 100

这个公式其实是三部分的乘积,对应到 “货架和水” 的例子:

  1. stats.norm.pdf(x, mu, sigma)
    → 这是正态分布的概率密度函数,表示 “在房价为 x 时的理论密度”(单位:概率 / 万元)。
    → 类比货架:A 区每米的 “水占比密度” 是 0.15 概率 / 米(即每米占总水量的 15%)。

  2. len(data)
    → 总样本量(比如 1000 套房子),用于把 “概率” 转化为 “实际数量”。
    → 类比货架:总水量 200 瓶,15% 的占比对应 200×15%=30 瓶。

  3. (x.max() - x.min()) / 100
    → 这是区间宽度
    → x 是从房价最小值到最大值的 100 个点,所以相邻两点的距离 = (600 万 - 100 万)/100 = 5 万(每个区间宽 5 万)。
    → 类比货架:把 10 米分成 100 段,每段宽 0.1 米。

举个具体例子:算房价 300 万处的曲线高度

假设:

  • 总样本量 = 1000 套房子
  • 房价范围 = 100-600 万,区间宽度 = 5 万(500 万 / 100)
  • 正态分布在 x=300 万处的密度 = 0.0006 概率 / 万元(即每万元价格的概率是 0.0006)

那么,在 x=300 万这个点上,曲线的高度(理论频数)是:

理论频数 = 概率密度 × 区间宽度 × 总样本量  
= 0.0006/万元 × 5万 × 1000  
= 3 套  

→ 这意味着:理论上,300 万左右(±2.5 万范围内)的房子应该有 3 套。

为什么要这样算?

因为直方图的高度是 “实际频数”(比如 300 万左右实际有 4 套房子),而正态分布直接算出来的是 “概率密度”。通过乘以 “区间宽度” 和 “总样本量”,我们把 “理论概率” 转化成了 “理论频数”,让曲线和直方图能在同一尺度上比较!

一句话总结

这段代码的核心就是:
用正态分布算出 “每个房价区间的理论概率”,再乘以 “区间宽度” 和 “总样本量”,得到 “理论上该区间应该有多少套房”,最后画出曲线和实际数据对比

如果不做这个转换,正态分布曲线会因为 “概率密度值太小” 而几乎贴在 x 轴上,根本看不到!

二、理论频数 = 概率密度 × 区间宽度 × 总样本量公式的来源

这个公式 理论频数 = 概率密度 × 区间宽度 × 总样本量,是从概率密度的定义和 “频数与概率的关系” 推导来的,对应代码中最核心的绘图公式:

stats.norm.pdf(x, mu, sigma) * len(data) * (x.max() - x.min()) / 100

我们一步步拆解推导逻辑:

步骤 1:从概率密度到区间概率

根据概率密度的定义:
某区间的概率 = 概率密度 × 区间宽度

用货架和水的例子:

  • 概率密度 = 每米的水占比(比如 0.15 概率 / 米)
  • 区间宽度 = 0.1 米(把 10 米货架分成 100 段,每段宽 0.1 米)
  • 区间概率 = 0.15 × 0.1 = 0.015(即该 0.1 米区间的水占总水量的 1.5%)

步骤 2:从区间概率到理论频数

频数(即某个区间内的实际数量)与概率的关系是:
理论频数 = 总样本量 × 区间概率

继续用例子:

  • 总样本量 = 200 瓶水(货架上的总水量)
  • 区间概率 = 0.015(该区间的水占比)
  • 理论频数 = 200 × 0.015 = 3 瓶(即该 0.1 米区间理论上应有 3 瓶水)

步骤 3:合并公式

把 “区间概率 = 概率密度 × 区间宽度” 代入 “理论频数 = 总样本量 × 区间概率”,得到:
理论频数 = 概率密度 × 区间宽度 × 总样本量

对应到代码中的变量

  • stats.norm.pdf(x, mu, sigma) → 概率密度(每单位价格的概率)
  • (x.max() - x.min()) / 100 → 区间宽度(把房价范围分成 100 段,每段的宽度)
  • len(data) → 总样本量(所有房子的数量)

三者相乘,就是代码中计算 “理论频数” 的公式,目的是让正态分布曲线的高度与直方图的 “实际频数” 在同一尺度上可比。

一句话总结

代码中的绘图公式,本质是用 “概率密度→区间概率→理论频数” 的逻辑,把抽象的概率密度转化为可与实际数据对比的 “理论上应该出现的数量”,而推导的核心就是概率密度的定义(概率 = 密度 × 宽度)和频数与概率的换算关系(频数 = 总样本量 × 概率)。

http://www.dtcms.com/wzjs/286251.html

相关文章:

  • 建设俄语网站专业seo公司
  • 谷歌seo文章青岛seo网站排名
  • 什么网站做优化最好广东seo价格是多少钱
  • wordpress 4.9.8中文版济南seo排行榜
  • 做漫画网站的需求全网整合营销推广系统
  • 营销型网站设计服务商网站优化培训学校
  • 佛山做网站建设公司商丘 峰少 seo博客
  • 广州做网站哪里好整站优化系统
  • 展示类网站建设网络市场调研的方法
  • 网站备案变更接入品牌广告策划方案
  • 常州平台网站建设互联网网络推广公司
  • 如何在电脑上建网站如何让百度收录自己信息
  • 网站建设与管理 市场分析优化网哪个牌子好
  • 怎样给自己的店做网站seo外链怎么发
  • 门户网站营销seo优化排名价格
  • 各大企业网站文案网站seo关键词排名推广
  • 广州模板网站如何进行电子商务网站推广
  • 网站是哪个公司做的重大新闻事件
  • 做网站怎么插音频外贸网站模板
  • 开通小程序要钱吗东营seo整站优化
  • 受欢迎的惠州网站建设百度搜索榜单
  • 佳木斯企业网站建设百度seo优化培训
  • 深圳网站建设合同范本百度的总部在哪里
  • 网站后期维护包括怎么学seo基础
  • 定制网站模板天津网站快速排名提升
  • 仿土豆网站源码百度上的广告多少钱一个月
  • 白银区住房和城乡建设局网站超级外链
  • 网站开发后需要交接哪些材料系统优化app最新版
  • 手机网站开发哪个好江东怎样优化seo
  • 网站设计建议百度点击软件找名风