第十三天 概率论与统计学

概率论与统计学是两个紧密相连但又有所区别的数学领域。以下是对这两个领域的详细解释:

一、概率论

概率论是一门研究随机现象的数学学科,它有一套公理化的纯数学理论,具有严格的公理基础。概率论起源于文艺复兴时期的赌博活动和棋盘游戏,后又因费马和帕斯卡尔的定理产生了广泛的影响。概率论是衡量某个特殊事情的结果或推测其可能性的道理,主要研究随机现象的规律性和随机变量的分布特征。

在概率论中,随机事件、随机变量、概率分布、条件概率、独立性等是核心概念。通过这些概念,概率论能够描述随机现象的不确定性和规律性,并为统计学提供理论基础。

二、统计学

统计学是一门通过搜索、整理、分析、描述数据等手段,以达到推断所测对象的本质,甚至预测对象未来的一门综合性科学。相比于概率论,统计学更像是一门经验科学,它针对现实生活中的数据进行分析,找到其中的规律或者趋势,然后对未来进行预测。

统计学包括描述统计和推断统计两大部分。描述统计主要研究如何对数据进行描述和概括,包括平均数、中位数、众数、方差等统计量的计算。推断统计则主要研究如何根据样本数据推断总体特征,包括参数估计和假设检验等方法。

三、概率论与统计学的关系

概率论是统计推断的基础。在给定数据生成过程下,概率论能够观测和研究数据的性质。而统计推断则根据观测的数据,反向思考其数据生成过程,从而推断出总体的某些特征或规律。预测、分类、聚类、估计等都是统计推断的特殊形式,它们强调对于数据生成过程的研究。

此外,数理统计是概率论与统计学相结合的产物。数理统计通过对随机现象有限次的观测或试验所得数据进行归纳,找出这有限数据的内在数量规律性,并据此对整体相应现象的数量规律性做出推断或判断。

综上所述,概率论与统计学是两个既有联系又有区别的数学领域。它们共同构成了现代数学的重要组成部分,并在各个领域中发挥着重要作用。

在Python中,概率论和统计学有许多强大的库和工具可以帮助你进行数据分析、概率计算、统计建模和可视化。以下是一些常用的库及其基本用法示例:

  1. NumPy

    NumPy 是 Python 中用于科学计算的基础库,提供了多维数组对象以及各种派生对象(如掩码数组和矩阵)和用于数组快速操作的各种API。

    python 复制代码
    import numpy as np
    
    # 生成随机数
    random_numbers = np.random.rand(10)  # 生成10个0到1之间的随机浮点数
    print(random_numbers)
    
    # 计算概率分布
    binomial_rv = np.random.binomial(n=10, p=0.5, size=1000)  # 生成1000个服从二项分布的随机数
    print(np.mean(binomial_rv))  # 计算均值
    print(np.var(binomial_rv))  # 计算方差
  2. SciPy

    SciPy 是建立在 NumPy 基础之上的,提供了许多用于数学、科学和工程的模块,包括统计模块 scipy.stats

    python 复制代码
    from scipy import stats
    
    # 生成正态分布随机数
    normal_rv = stats.norm.rvs(loc=0, scale=1, size=1000)  # 生成1000个服从标准正态分布的随机数
    print(stats.describe(normal_rv))  # 描述统计量
    
    # 计算累积分布函数(CDF)
    cdf_value = stats.norm.cdf(1.96, loc=0, scale=1)
    print(cdf_value)  # 输出1.96在标准正态分布下的CDF值
  3. Pandas

    Pandas 是 Python 的一个数据分析库,提供了快速、灵活和表达式丰富的数据结构,旨在使"关系"或"标签"数据的处理工作既简单又直观。

    python 复制代码
    import pandas as pd
    
    # 创建DataFrame
    data = {'A': np.random.randn(1000), 'B': np.random.randn(1000) + 3}
    df = pd.DataFrame(data)
    
    # 计算描述统计量
    print(df.describe())
    
    # 计算相关系数矩阵
    print(df.corr())
  4. MatplotlibSeaborn

    Matplotlib 是 Python 的绘图库,它提供了一个类似于 MATLAB 的绘图框架。Seaborn 是基于 Matplotlib 的高级绘图库,提供了更多的统计绘图功能。

    python 复制代码
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    # 使用 Matplotlib 绘制直方图
    plt.hist(normal_rv, bins=30, density=True, alpha=0.6, color='g')
    plt.title('Histogram of Normal Distribution')
    plt.xlabel('Value')
    plt.ylabel('Density')
    plt.show()
    
    # 使用 Seaborn 绘制散点图
    sns.scatterplot(x='A', y='B', data=df)
    plt.title('Scatter plot of A vs B')
    plt.xlabel('A')
    plt.ylabel('B')
    plt.show()
  5. Statsmodels

    Statsmodels 是一个 Python 模块,提供了许多统计模型的估计和进行统计测试的类和函数。

    python 复制代码
    import statsmodels.api as sm
    
    # 线性回归
    X = df['A']
    y = df['B']
    X = sm.add_constant(X)  # 添加常数项
    model = sm.OLS(y, X).fit()
    print(model.summary())

这些库只是Python中概率论和统计学相关的一部分,但已经涵盖了大多数常见任务。根据具体需求,你可能需要深入了解某个库的特定功能或组合使用多个库来实现复杂的数据分析和建模任务。

相关推荐
感谢地心引力11 小时前
【数据分析】层次贝叶斯
机器学习·数据分析·概率论
Mount25613 小时前
【数理统计】极限定理及抽样分布
概率论
勤劳的进取家13 小时前
多维高斯分布
人工智能·机器学习·概率论
公众号Codewar原创作者20 小时前
R机器学习:朴素贝叶斯算法的理解与实操
人工智能·机器学习·概率论
orion-orion1 天前
概率论沉思录:初等假设检验
人工智能·概率论·科学哲学
Mount2561 天前
【数理统计】参数估计
概率论
Trouvaille ~4 天前
【机器学习】解构概率,重构世界:贝叶斯定理与智能世界的暗语
人工智能·python·深度学习·神经网络·机器学习·ai·概率论
奔跑的犀牛先生4 天前
概率论得学习和整理27:关于离散的数组 & 随机变量数组的均值,方差的求法3种公式,思考和细节。
学习·均值算法·概率论
蜉蝣之翼❉4 天前
概率论深入学习书单
学习·概率论
奔跑的犀牛先生4 天前
概率论得学习和整理31: 连续型随机变量的概率本质是求面积,均匀分布等
学习·概率论