描述性统计学基本指标的python实现

简介: 描述性统计学基本指标的python实现

1. 统计分析

统计分析(Statistical)包括描述性统计(Descriptive Statistics)推断统计(Inferential Statistics) 两大部分。面对收集来的数据,我们首先要对数据进行整理(Organization),如排序,统计频数,绘制频数分布表;也可以通过计算一些指标对数据进行总结(Summarization),这些指标包括平均数,中位数等;对已知数据进行整理,归类、简化或绘制图标等呈现数据特征,是描述性分析的主要内容。

2. 数据类型

可将数据分为两类:定性数据(Qualitative Data) 和 定量数据(Quantitative Data)。

  • 定性数据是对事物性质进行描述的数据,通常只具有有限个取值往往用于描述类别。如股票所属行业即为定性数据。
  • 定量数据是呈现事物数量特征的数据,是由不同数字组成的,数字的取值是可以比较大小的,比如各只股票的收益数据即是定量数据。我们可以比较哪一只股票的收益率高,也可以比较一只股票何时收益较高。

3.图表

3.1 频数分布表

了解频数(Frequency) , 频率(Relative Frequency)频数分布表概念即可。

3.2 直方图

直方图是频数分布表的图形表达式,绘图方式详情点击链接
Python–Matplotlib库与数据可视化②–常见图形的绘制(柱状图,直方图,饼图,箱线图)

3.3 数据的位置

获取一组数据,如万科A(000002.SZ)

# 导入相关模块
import numpy as np
import tushare as ts
import pandas as pd
token = 'Your token'   # 输入你的接口密匙,获取方式及相关权限见Tushare官网。
pro = ts.pro_api(token)
df = pro.daily(ts_code='000002.SZ')  # daily为tushare的股票日线数据接口。
df['trade_date'] = pd.to_datetime(df['trade_date'])  
df.set_index(['trade_date'], inplace=True)  # 将日期列作为行索引
df = df.sort_index() 

3.3.1 样本平均数(Sample Mean)

平均数是常用的度量数据中心位置的指标,常用的平均数有两种计算方式,分别是算术平均法和几何平均法。


在这里插入图片描述
# 求2020年收盘价算术平均数
df.close['2020'].mean()

在这里插入图片描述

# 求几何平均数
from scipy.stats.mstats import gmean
gmean(df.close['2020'])

在这里插入图片描述

算术平均数的应用范围非常广,几乎是所有定量的数据都可以计算其算术平均,而几何平均数经常用在收益率数据分析中。


3.3.2 中位数(Median)

中位数也是度量数据中心位置的指标之一。相比于平均数,中位数不易受到极端值的影响,因此当数据集中有多个极端值的时候,中位数会是一个更好的度量中心位置的方法。

# 求2020年收盘价中位数
df.close['2020'].median()

在这里插入图片描述


3.3.3 众数(Mode)

众数是一组数据中出现次数最多的数值,也是比较常见的度量数据中心位置的指标。同中位数一样,众数不易受极端值影响。

# 求2020年收盘价众数
df.close['2020'].mode()

在这里插入图片描述

报错啦哈哈哈,股价数据一般互不相同,很难有众数。但是懂函数用法就行,咱也只是举个例子。不纠结这个,继续走起~


3.3.4 百分位数(Percentile)

第α百分位数即为使得至少(100-α)%的观测值大于等于该数,至少α%的观测值小于该数的一个数值。
第25百分位数,第50百分位数(即中位数),第75百分位数分别也被叫做第一四分位数(下四分位数),第二四分位数与第三四分位数(上四分位数)。
在实践中,可以使用百分位数来对业绩进行排序,比如投资经理的业绩经常以与同类型投资经理的业绩相比所处的百分位数的形式来呈现。另外分析师也会根据某一分位数来定义一个以该分位数命名的组类。例如,在比较某股票的收益率的表现的时候,可以将收益率低于第10百分位数的股票作为收益率最低的股票。

#用quantile()函数求上下四分位数
[df.close['2020'].quantile(i) for i in [0.25, 0.75]]

在这里插入图片描述

4. 数据的离散度

数据位置仅仅是一个点,若要全面地反映数据分布的特征,我们还需要其他指标。数据的离散度的变异性,主要衡量样本数据对于中心位置的偏离程度。把数据的位置通离散度结合起来,就能够很好地刻画数据分布的特征,常用的离散度指标如下:


4.1极差(Range)

  • 极差=最大值−最小值
    极差计算简单,能够快速反映数据范围,但是极差提供的信息量相对比比较少,难以充分反映分布的情况。
# 求极差
df.close['2020'].max() - df.close['2020'].min()

在这里插入图片描述


4.2平均绝对偏差(Mean Absolute Deviation)

因为所有数据与均值的产值之和为0,所以一组数据的整体离散程度无法用其来衡量。再者我们关心的是偏离的大小,不是偏离的方向,因此平均绝对偏差能够较好地反映一组数据的离散程度

  • 平均绝对偏差计算公式:
    在这里插入图片描述
    #求平均绝对偏差
    df.close['2020'].mad()
    

    在这里插入图片描述

    4.3方差(Variance)和标准差(Standard Deviation)

    除了对数据与均值的差取绝对值外,我们还可以对其进行平方运算。方差是根据数据与均值偏差平方和算出的用于衡量数据离散度的指标,计算公式如下:
    在这里插入图片描述
    这两个指标是我们在实务中最常用的衡量数据离散度的指标:

    # 求方差
    df.close['2020'].var()
    

    在这里插入图片描述

    # 标准差
    df.close['2020'].std()
    

    在这里插入图片描述

目录
相关文章
|
8月前
|
机器学习/深度学习 算法 数据挖掘
统计学与Python:实现描述性统计和推断性统计分析
【4月更文挑战第12天】本文介绍了Python在统计学中的应用,重点讲解了如何使用Python进行描述性与推断性统计分析。Pandas和NumPy库用于描述性统计,提供数据概括和总结功能;Scipy和Statsmodels库支持推断性统计,包括假设检验和模型建立。通过数据导入、描述性统计量计算、图表绘制以及假设检验和回归分析等步骤,展示了Python实现统计分析的基本流程。持续学习和实践将有助于提升Python统计分析能力。
523 0
|
5月前
|
数据采集 算法 数据可视化
基于Python的k-means聚类分析算法的实现与应用,可以用在电商评论、招聘信息等各个领域的文本聚类及指标聚类,效果很好
本文介绍了基于Python实现的k-means聚类分析算法,并通过微博考研话题的数据清洗、聚类数量评估、聚类分析实现与结果可视化等步骤,展示了该算法在文本聚类领域的应用效果。
169 1
|
3月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
150 1
|
8月前
|
Java C# 开发者
Python 中的类型注解是一种用于描述变量、函数参数和返回值预期类型的机制
【5月更文挑战第8天】Python的类型注解提升代码可读性和可维护性,虽非强制,但利于静态类型检查(如Mypy)。包括:变量注解、函数参数和返回值注解,使用内置或`typing`模块的复杂类型,自定义类型注解,以及泛型模拟。类型注解可在变量声明、函数定义和注释中使用,帮助避免类型错误,提高开发效率。
78 6
|
8月前
|
Serverless 云计算 Python
基本技术指标 Python 实现(1)
基本技术指标 Python 实现
307 3
|
8月前
|
Python
基本技术指标 Python 实现(2)
基本技术指标 Python 实现
183 1
|
8月前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
57 4
|
8月前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的机器学习评估与度量指标
【4月更文挑战第30天】本文介绍了Python中机器学习模型的评估方法和度量指标。主要包括留出法、交叉验证和自助法等评估方法,以及准确率、精确率、召回率、F1分数、AUC-ROC曲线、MSE、RMSE和R方值等度量指标。选择合适的评估标准对于理解模型性能和适应不同任务至关重要。
210 0
|
8月前
|
Python
基本技术指标 Python 实现(4)
基本技术指标 Python 实现
107 0
|
8月前
|
项目管理 Python
基本技术指标 Python 实现(3)
基本技术指标 Python 实现
169 0