当前位置: 首页 > article >正文

第十三天 概率论与统计学

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

一、概率论

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

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

二、统计学

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

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

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

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

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

综上所述,概率论与统计学是两个既有联系又有区别的数学领域。它们共同构成了现代数学的重要组成部分,并在各个领域中发挥着重要作用。
在Python中,概率论和统计学有许多强大的库和工具可以帮助你进行数据分析、概率计算、统计建模和可视化。以下是一些常用的库及其基本用法示例:

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

    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

    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 的一个数据分析库,提供了快速、灵活和表达式丰富的数据结构,旨在使“关系”或“标签”数据的处理工作既简单又直观。

    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 的高级绘图库,提供了更多的统计绘图功能。

    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 模块,提供了许多统计模型的估计和进行统计测试的类和函数。

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


http://www.kler.cn/a/390462.html

相关文章:

  • 3D绘制动态爱心Matlab
  • MySQL Workbench导入数据比mysql命令行慢
  • SciPy:Python 科学计算工具包的全面教程
  • docker之容器设置开机自启(4)
  • 洞察鸿蒙生态,把握开发新机遇
  • C++ QT 工具日志异步分批保存
  • shodan 【2】(泷羽sec)
  • iOS 18.2 重磅更新:6个大动作
  • uni-app之数据驱动的picker选择器( uni-data-picker)之可以选择到任意级别
  • Timer指定时间定时任务运行
  • ONLYOFFICE 8.2 版:助力自动化办公的佼佼者
  • 2024年11月7日Github流行趋势
  • sql server启用远程连接与修改默认端口
  • 【FastAdmin】在页面中使用layui,以此引申使用颜色选择器示例
  • WMS仓储管理系统三个重要的使用价值
  • 内网环境,基于k8s docer 自动发包
  • go语言中的错误处理详解
  • 电脑桌面水印是什么,在哪里设置?手把手教会你三个方法,给电脑屏幕添加水印!(亲测好用)
  • linux-c 使用c语言操作sqlite3数据库-1
  • 工程认证与Spring Boot:计算机课程管理的新探索
  • Javascript高级—深浅拷贝
  • Elasticsearch知识点汇总
  • 调用API进行验证码测试/python
  • 【vue3文件上传同时出现两个提示框,一个提示成功,一个提示失败,一个是用写死的,一个是接口返回的】
  • Android 图片保存
  • electron 中 contextBridge 作用