第十三天 概率论与统计学

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

一、概率论

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

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

二、统计学

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

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

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

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

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

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

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

相关推荐
微小冷4 小时前
二关节机器人系统模型推导
线性代数·机器人·概率论·推导·拉格朗日函数·二关节机器人·机器人控制系统的设计
软件开发技术深度爱好者9 小时前
概率中“都发生”和“至少一个”问题的解答
概率论·数学广角
FF-Studio2 天前
【硬核数学】3. AI如何应对不确定性?概率论为模型注入“灵魂”《从零构建机器学习、深度学习到LLM的数学认知》
大数据·人工智能·深度学习·机器学习·数学建模·自然语言处理·概率论
如果你想拥有什么先让自己配得上拥有12 天前
概率论中的生日问题,违背直觉?如何计算? 以及从人性金融的角度分析如何违背直觉的?
金融·概率论
云博客-资源宝13 天前
Excel函数大全
机器学习·excel·概率论
爱学习的capoo15 天前
【解析法与几何法在阻尼比设计】自控
线性代数·机器学习·概率论
TomcatLikeYou17 天前
概率论中的基本定义(事件,期望,信息量,香农熵等)
深度学习·机器学习·概率论
phoenix@Capricornus19 天前
期望最大化(EM)算法的推导——Q函数
算法·机器学习·概率论
Algo-hx20 天前
概率论的基本概念:开启不确定性世界的数学之旅
概率论
Algo-hx20 天前
随机变量及其分布:概率论的量化核心
概率论