发布于 2026-01-06 2 阅读
0

统计学:数据科学速成课程。第一部分 DEV 全球展示挑战赛,由 Mux 呈现:展示你的项目!

统计学:数据科学速成课程(第一部分)

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

介绍

在浩瀚的数据科学教育领域,找到一门简洁明了、结构清晰的统计学课程并非易事。不过,不必担心,本课程旨在提供这样的课程——清晰全面地讲解数据科学统计学的基础知识。

通过本课程,您将掌握分析数据、提取有效信息并做出明智决策的技能。无论您是刚刚踏上数据科学之旅,还是希望夯实统计学基础,本课程都能为您通往成功奠定基础。

基础

在第一部分,我们将建立统计学的基本原理及其在数据科学领域的应用。通过理解这些基本原理,您将获得必要的基础,从而探索更高级的统计技术及其实际应用。让我们从深入探讨关键定义和概念开始这段旅程。

样本和变量

在统计分析中,样本是从较大总体中收集的数据子集。它代表了总体中较小但具有代表性的一部分。通过分析样本,我们可以推断总体的整体特征。

了解样本的性质和特征对于统计分析也至关重要。

通常,集中趋势可以帮助我们做到这一点。集中趋势指标提供了一种概括和描述数据集中心或典型值的方法。它们帮助我们理解数据的分布,并对不同的组或变量进行比较。
常用的集中趋势指标有三种:均值、中位数和众数。

1)平均值是通过将数据集中的所有值相加,然后除以值的总数来计算的。它代表了数据集的平均值。

2)中位数是数据集按升序或降序排列后位于中间位置的值。它将数据集分成两个相等的部分。

3)众数是数据集中出现频率最高的值。它代表出现频率最高的值。

例如:
假设我们有一个数据集,其中包含哈利·波特系列电影中主要角色的年龄。现在,我们将计算该数据集的集中趋势度量。

import numpy as np
from scipy.stats import mode

// Sample data: Ages of main characters in the Harry Potter movies
ages = np.array([18, 17, 16, 17, 18, 19, 17, 18, 17, 16])

// Calculate the mean age
mean_age = np.mean(ages)

// Calculate the median age
median_age = np.median(ages)

// Calculate the mode age
mode_age = mode(ages)

// And our results
print("Median Age:", median_age)
print("Mean Age:", mean_age)
print("Mode Age:", mode_age.mode[0])
Enter fullscreen mode Exit fullscreen mode

通过考虑集中趋势的度量,我们可以更好地了解数据集中的典型值或中心值,从而帮助我们有效地总结和分析数据。

标准化和Z变换

标准化是一种将变量转换到同一尺度,使其具有可比性的技术。Z变换是标准化的一种方法,它将变量转换为均值为0、标准差为1的标准正态分布。

例如:
假设我们有一个学生考试成绩的数据集。我们可以使用 Z 变换对成绩进行标准化。

from sklearn.preprocessing import StandardScaler

// Sample data
scores = np.array([75, 80, 85, 90, 95])

// Standardize the scores
scaler = StandardScaler()
standardized_scores = scaler.fit_transform(scores.reshape(-1, 1))

print("Standardized Scores:", standardized_scores)
Enter fullscreen mode Exit fullscreen mode

标准化使我们能够对具有不同尺度或单位的变量进行有意义的比较。

分布和正态分布

分布是统计分析的核心,它描述了数据集中数值的范围及其相关的概率。由于许多统计技术都预设了特定的分布属性,因此熟练理解分布至关重要。

在众多分布中,正态分布(又称高斯分布)因其在各个领域的普遍性而占据着突出地位。

!

例如:
让我们生成一个服从正态分布的随机数据集,其均值为 0,标准差为 1。

import numpy as np
import matplotlib.pyplot as plt

// Generate random data from a normal distribution
data = np.random.normal(0, 1, 1000)

// Plotting the distribution
plt.hist(data, bins=30)
plt.xlabel('Values')
plt.ylabel('Frequency')
plt.title('Normal Distribution')
plt.show()
Enter fullscreen mode Exit fullscreen mode

了解正态分布的特征至关重要,因为许多统计方法都依赖于它的性质。

中心极限定理和置信区间

中心极限定理(CLT)是统计理论的基石。它指出,大量独立同分布的随机变量之和或平均值将收敛于正态分布,而与原始分布无关。该定理是众多统计推断技术的基石,使我们能够基于样本统计量对总体参数做出可靠的推断。

中心极限定理衍生出的一个重要工具是置信区间——它定义了一个数值范围,我们估计总体参数落在该范围内的置信水平为特定值。置信区间能够帮助我们理解估计值的不确定性,因此对于从数据中得出有意义的结论至关重要。

例如:
我们考虑一所学校学生的身高。我们可以使用中心极限定理计算总体平均身高的置信区间。

import numpy as np
import scipy.stats as stats

// Sample data
heights = np.array([165, 170, 175, 160, 155, 180, 185, 170, 168, 172])

// Calculate the confidence interval
confidence_interval = stats.norm.interval(0.95, loc=np.mean(heights), scale=np.std(heights))
print("Confidence Interval:", confidence_interval)
Enter fullscreen mode Exit fullscreen mode

置信区间提供了一个数值范围,真实总体参数可能落入该范围之内。它使我们能够评估样本数据的精确度和可靠性。

P值

p 值是一种统计指标,它帮助我们确定反对零假设的证据强度。它量化了在零假设成立的情况下,获得观测数据或更极端数据的概率。p 值是统计学中假设检验的关键组成部分。

在假设检验或A/B测试中,我们首先提出零假设(H0),它代表不存在显著差异或效应的假设。备择假设(H1)则与零假设相矛盾,表明数据中存在显著差异或效应。

p 值可以帮助我们对原假设进行推断。如果 p 值很小(通常低于预先设定的显著性水平,例如 0.05),我们就有充分的证据拒绝原假设,而支持备择假设。

为了计算 p 值,我们将检验统计量(取决于所进行的检验)与零假设下检验统计量的分布进行比较。p 值表示在零假设成立的情况下,获得与观测到的检验统计量一样极端或更极端的检验统计量的概率。

例如:
我们来做个t检验,比较哈利·波特电影中男性和女性角色的身高。零假设(H0)是男性和女性角色的身高没有显著差异。备择假设(H1)是男性和女性角色的身高存在显著差异。

import numpy as np
import scipy.stats as stats

// Sample data
male_heights = np.array([170, 175, 180, 185, 190])
female_heights = np.array([160, 165, 170, 175, 180])

// Perform t-test
t_statistic, p_value = stats.ttest_ind(male_heights, female_heights)
print("p-value:", p_value)
Enter fullscreen mode Exit fullscreen mode

在这个例子中,如果得到的 p 值小于显著性水平(例如 0.05),我们可以拒绝原假设,并得出结论:哈利波特电影中男性和女性角色的身高存在显著差异。

它有助于我们根据研究结果的统计显著性做出明智的决策。通过将p值与其他相关因素结合起来考虑,我们可以得出有意义的结论并做出数据驱动的决策。

下次见

通过本系列第一部分对统计学基础概念的探索,包括样本和变量、标准化、分布、中心极限定理、置信区间和 p 值,您已经为进一步探索高级统计技术奠定了坚实的基础。

在本系列的第二部分(也是最后一部分)中,我们将深入探讨学生 t 检验、方差分析 (ANOVA)、相关性和回归。

敬请期待,我们将揭开T值测试与传奇的健力士啤酒厂之间令人惊讶的联系。

文章来源:https://dev.to/holy_grail_ai/statistics-srash-course-for-data-science-part-i-4lnd