PHP前端开发

周统计

百变鹏仔 6天前 #Python

一周统计学速成:一场略带讽刺的深度探索

本周,我们将深入浅出地探讨统计学的核心概念,力求以严谨的技术手法解释基本原理,并辅以轻松的讽刺,让学习过程更轻松有趣。本文将详细分解我的统计学习之旅,涵盖理论知识、实际案例和 Python 代码实现。

1. 描述性统计:数据概述

描述性统计是将原始数据进行总结和整理,使其更易于理解和解释的工具。它是数据分析的第一步,为后续分析奠定基础。

数据类型

  1. 名义数据:
  2. 顺序数据:
  3. 区间数据:
  4. 比率数据:

集中趋势度量

Python 示例:

import numpy as npfrom scipy import stats# 样本数据data = [12, 15, 14, 10, 12, 17, 18]mean = np.mean(data)median = np.median(data)mode = stats.mode(data).mode[0]print(f"平均数: {mean}, 中位数: {median}, 众数: {mode}")

2. 离散度度量:展现数据波动

集中趋势度量展现了数据的中心位置,而离散度度量则反映了数据的离散程度或波动性。

关键指标

  1. 方差 (σ² 表示总体,s² 表示样本):
  2. 标准差 (σ 表示总体,s 表示样本):
  3. 偏度:

Python 示例:

std_dev = np.std(data, ddof=1)  # 样本标准差variance = np.var(data, ddof=1)  # 样本方差print(f"标准差: {std_dev}, 方差: {variance}")

3. 概率分布:数据行为模型

概率分布描述了随机变量取值的概率分布情况。

概率函数

  1. 概率质量函数 (PMF):
  2. 概率密度函数 (PDF):
  3. 累积分布函数 (CDF):

Python 示例:

from scipy.stats import norm# 正态分布的 PDF 和 CDFx = np.linspace(-3, 3, 100)pdf = norm.pdf(x, loc=0, scale=1)cdf = norm.cdf(x, loc=0, scale=1)print(f"x=1 处的 PDF: {norm.pdf(1)}")print(f"x=1 处的 CDF: {norm.cdf(1)}")

分布类型

  1. 正态/高斯分布:
  2. 二项分布:
  3. 泊松分布:
  4. 对数正态分布:
  5. 幂律分布:

正态分布的 Python 示例:

import matplotlib.pyplot as pltsamples = np.random.normal(0, 1, 1000)plt.hist(samples, bins=30, density=True, alpha=0.6, color='g')plt.title('正态分布')plt.show()

4. 推断统计:从样本推断总体

推断统计允许我们根据样本数据对总体进行推断。

关键概念

  1. 点估计:
  2. 置信区间:
  3. 假设检验:
  4. t 分布:

假设检验的 Python 示例:

from scipy.stats import ttest_1samp# 样本数据data = [1.83, 1.91, 1.76, 1.77, 1.89]population_mean = 1.80statistic, p_value = ttest_1samp(data, population_mean)print(f"t 统计量: {statistic}, p 值: {p_value}")

5. 中心极限定理 (CLT)

CLT 指出,无论总体分布如何,样本均值的分布都随着样本量的增加而趋近于正态分布。

Python 示例:

sample_means = [np.mean(np.random.randint(1, 100, 30)) for _ in range(1000)]plt.hist(sample_means, bins=30, density=True, alpha=0.6, color='b')plt.title('中心极限定理')plt.show()

结语

本周,我们对统计学这门引人入胜(有时也略显枯燥)的学科进行了深入探索。从数据概述到概率分布再到统计推断,这是一段充满收获的学习旅程。让我们继续探索数据科学的奥秘,一起披荆斩棘!