1.Scipy简介
使用python做科学计算,详情参考官方文档
scipy软件包包含专用于科学计算中常见问题的各种工具箱,他的不同子模块对应于不同的应用程序,例如插值,积分,优化,图像处理,统计,特殊功能等。
2.scipy-插值举例
1 import numpy as np 2 # 插值 3 from scipy import interp 4 import matplotlib.pyplot as plt 5 %matplotlib inline 6 7 # 10个点 8 X=np.linspace(0,2*np.pi,10) 9 y=np.sin(X) 10 plt.scatter(X,y,color='red') 11 12 plt.figure(figsize=(12,9)) 13 X2=np.linspace(0,2*np.pi,55) 14 # 使用scipy中的插值方法填充y2 15 # One-dimensional linear interpolation. 一维的线性插值 16 # X2插值对象,X,y是根据什么关系插值 17 # 插值是在之前的的点之间加入多少个点 18 # 类似局部线性回归,两点之间线性进行了平均 19 y2=interp(X2,X,y) 20 plt.scatter(X2,y2) 21 # 关系的10个点 22 plt.scatter(X,y) 23 plt.plot(X2,np.sin(X2),color='green') # 标准的正弦波
上例为一维插值,在两点之间平均插值
插值的应用:填充空数据(数据预处理)
填充空数据的方法:
- 平均值
- 中位数
- 众数
- scipy插值(多种)
- 拉格朗日中值定理插值(高阶插值方法)
- 算法,回归算法,model.fit(),model.predict()
- kmeans聚类,聚类之后(根据相近的数据)进行填充
拉格朗日插值法:
拉格朗日插值法举例:
应用拉格朗日插值法对上表进行插补,使用缺失值前后各5个未缺失的数据参与建模,得到插值结果如下:
在进行插值之前会对数据进行异常值检测,发现2015/2/21日的数据是异常的(数据大于5000),所以也把此日期数据定义为空值,进行补数,利用拉格朗日,结果是4275.255和4156.86,这两天是周末,所以销售额一般要比周一到周五多,所以插值结果比较符合实际情况。
3.统计(scipy.stats)
所有统计功能都位于子包中scipy.stats
连续随机变量和离散随机变量
参考:
https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html#comparing-two-samples
假设检验是最常用的指标:
假设检验也叫显著性检验,是以小概率反证法的逻辑推理,判断假设是否成立的统计方法,它首先假设样本对应的总体参数(或分布)与某个已知总体参数(或分布)相同,然后根据统计量的分布规律来分析样本数据,利用样本信息判断是否支持这种假设,并对检验假设做出取舍抉择,做出的结论是概率性的,不是绝对的肯定或否定。