描述性统计与分布
均值、中位数、方差、std、偏度、峰度,以及正态/二项/泊松分布
描述性统计与分布 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。
汇总数据
描述性统计 将数据集压缩为几个数字,用于描述其中心、离散程度和形状。对于任何新数据集,首先都应计算这些统计量。
import numpy as np
data = np.array([4, 8, 6, 5, 3, 7, 9, 6])均值与中位数
mean 是算术平均值;median 是中间值。median 不易受异常值影响,因此两者之间存在较大差距通常意味着数据存在偏斜。
print(np.mean(data)) # 6.0
print(np.median(data)) # 6.0方差与标准差
方差 是相对于 mean 的离差平方的平均值;标准差 是方差的平方根,单位与数据相同。
print(np.var(data)) # population variance
print(np.std(data)) # standard deviation样本与总体(ddof)
NumPy 默认除以 N(总体)。要估计 SAMPLE,应使用 ddof=1 除以 N-1,这样可以校正偏差。
print(np.std(data, ddof=0)) # population
print(np.std(data, ddof=1)) # sample (unbiased)百分位数与 IQR
百分位数会对排序后的数据进行划分。第 25 和第 75 百分位数(四分位数)界定中间的 50%;两者之差就是 IQR。
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
print(q1, q3, q3 - q1) # IQR偏度
偏度 衡量不对称性。正偏度表示右侧尾部较长(如收入数据);负偏度表示左侧尾部较长。scipy.stats.skew 可以计算偏度。
from scipy import stats
print(stats.skew(data)) # near 0 -> symmetric峰度
峰度 衡量尾部的厚重程度。高峰度意味着极端异常值多于正态曲线。scipy 报告的是超额峰度(正态分布 = 0)。
print(stats.kurtosis(data)) # 0 means normal-like tails正态分布
钟形的正态分布由 mean 和标准差决定。约 68% 的值落在一个 std 以内,约 95% 的值落在两个 std 以内。
sample = stats.norm.rvs(loc=0, scale=1, size=1000, random_state=0)
print(np.mean(sample), np.std(sample)) # near 0 and 1二项分布
二项分布统计 n 次独立的“是/否”试验中的成功次数,每次成功的概率为 p,例如统计多次抛硬币时出现正面的次数。
print(stats.binom.pmf(k=3, n=10, p=0.5)) # P(exactly 3 heads in 10)泊松分布
泊松分布用于在给定平均速率 λ 的情况下,描述固定时间间隔内罕见事件的次数,例如每分钟的到达次数。
print(stats.poisson.pmf(k=2, mu=3)) # P(2 events when avg is 3)直方图
直方图会将数值分箱,以揭示分布的形状。np.histogram 返回计数和箱边界;绘图库负责绘制图形。
counts, edges = np.histogram(sample, bins=10)
print(counts)
# import matplotlib.pyplot as plt; plt.hist(sample, bins=30)快速检查
请测试您对描述性统计的掌握情况。
回顾
描述性统计工具箱:
- 中心趋势:
np.mean、np.median - 离散程度:
np.var、np.std(样本使用ddof=1),以及通过百分位数计算 IQR - 形状:
scipy.stats.skew、scipy.stats.kurtosis - 分布:
scipy.stats中的正态分布、二项分布和泊松分布 - 使用直方图可视化形状
常见问题解答
「描述性统计与分布」课时是免费的吗?
是的 — 「描述性统计与分布」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。
「描述性统计与分布」这节课中我会学到什么?
均值、中位数、方差、std、偏度、峰度,以及正态/二项/泊松分布 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「描述性统计与分布」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。