Scipy

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

假设检验是最常用的指标:

假设检验也叫显著性检验,是以小概率反证法的逻辑推理,判断假设是否成立的统计方法,它首先假设样本对应的总体参数(或分布)与某个已知总体参数(或分布)相同,然后根据统计量的分布规律来分析样本数据,利用样本信息判断是否支持这种假设,并对检验假设做出取舍抉择,做出的结论是概率性的,不是绝对的肯定或否定。

 

posted @ 2020-02-10 20:26  程序界第一佳丽  阅读(518)  评论(0编辑  收藏  举报