回忆节假日

2018/05/01 思考

Posted by WangXiaoDong on May 1, 2018
    今天就是五一劳动节了,也是五一三天假的最后一天。我想,好多朋友肯定都回家了,大概。我还在学校,因为
每当节假日的时候,火车票都很难买,而且回家一趟就要坐10个小时的火车,本来家三天假,来回一天半的时间就花费
在路上了,所以感觉非常的不值得。
    因此这几天我就留着学校。结果发现几个在北京的同学也都选择没有回家,而是在学校度过。
    前天,也就是放假的第一天,北航的同学杭杰就邀请我一起去跑步。然后晚上请我吃了顿饭。顺便给我点了美味小吃。
    昨天,遥感所的腾飞邀请我和前锋一起去生命科学园地铁站吃饭。中午一起吃的番茄鱼非常美味!下午,又在腾飞
那里拿到了他师弟给的芒果,吃起来很美味,感觉不错!

Linear Regression

基本介绍

线性回归,该标签下的函数主要处理线性模型,并且要求这些线性模型具有独立和恒等分布误差或者具有异方差或自相关的误差。 该模块允许用普通最小二乘(OLS)、加权最小二乘(WLS)、广义最小二乘(GLS)和可行的广义最小二乘(p)误差进行估计。

数学模型

这一类模型假设如下方程:

依赖于的属性,当前的库中提供了如下四个可用类型:

  • GLS:任意协方差的广义最小平方。
  • OLS:对独立同分布(i.i.d.),误差是的普通最小二乘法
  • WLS:对异方差误差是的加权最小二乘法法
  • GLSAR:可行的广义最小二乘与自相关AR(p)误差

所有回归模型都定义相同的方法并遵循相同的结构,并且可以以类似的方式使用。其中一些包含了额外的模型特定的方法和属性。

除了递归,GLS是其他回归类的超类。

所在目录和使用方法

根据目录结构找到这些类和函数在都在statsmodels-->regression-->linear_model.py这个文件中。 导入时为了方便可以直接import statsmodels.api as sm,因为statsmodels-->api.py这个文件把常用的函数包都在文件中导入了。

至于如何使用,说明文档给出了一个关于OLS例子:

import statsmodels.api as sm    #调用statsmodels里面的api,通过api调用相当于调用了statsmodels.regression.linear_model,可以使用linear_model文件里的函数
spector_data = sm.datasets.spector.load()  #读取样例的数据集
spector_data.exog = sm.add_constant(spector_data.exog, prepend=False)
# Fit and summarize OLS model
mod = sm.OLS(spector_data.endog, spector_data.exog)
res = mod.fit()
print(res.summary())

第一行导入api。 第二行取得其自带的数据集spector,这个数据集可以在文件 statsmodels\datasets\spector里面找到spector.csv。打开观察一下,发现该 数据集就是32行5列的简单数据。其中第一列是数据的序号,可以忽略。 第三行将spector_data里面exog增加一列常量 第四行使用函数OLS读入需要分析的数据,其中spector_data.endog是被拟合的数据Yspector_data.exog是需要拟合的自变量X。 第五行进行拟合。返回的是statsmodels.regression.linear_model.RegressionResults类型赋值给变量res 第六行打印变量res的结果。

如果你按照上面的代码运行,会打印出如下运行结果:

 OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.416
Model:                            OLS   Adj. R-squared:                  0.353
Method:                 Least Squares   F-statistic:                     6.646
Date:                Tue, 28 Feb 2017   Prob (F-statistic):            0.00157
Time:                        21:38:07   Log-Likelihood:                -12.978
No. Observations:                  32   AIC:                             33.96
Df Residuals:                      28   BIC:                             39.82
Df Model:                           3                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
x1             0.4639      0.162      2.864      0.008       0.132       0.796
x2             0.0105      0.019      0.539      0.594      -0.029       0.050
x3             0.3786      0.139      2.720      0.011       0.093       0.664
const         -1.4980      0.524     -2.859      0.008      -2.571      -0.425
==============================================================================
Omnibus:                        0.176   Durbin-Watson:                   2.346
Prob(Omnibus):                  0.916   Jarque-Bera (JB):                0.167
Skew:                           0.141   Prob(JB):                        0.920
Kurtosis:                       2.786   Cond. No.                         176.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

根据这个表格,介绍一下对所有回归类最常见的属性的详细描述。

  • pinv_wexoga:array–>白化设计矩阵的Moore-Penrose伪逆。它约等于,其中的定义为
  • cholsimgainv:array–>的上三角矩阵满足
  • df_model:float–>模型自由度。这等于p - 1,其中p是回归变量的个数。注意,这里的截距不被计算为使用自由度。
  • df_resid –>剩余的自由度。这等于n-p n是观察的次数p是参数的个数。注意,拦截被计算为在这里使用一定程度的自由。
  • llf:floot–>拟合模型的似然函数值。
  • nobs :float–>观察次数n。
  • normalized_cov_params:array–>一个等于矩阵
  • sigma:array–>误差项的n x n协方差矩阵:\mu\sim n \left(0,\Sigma\right)。
  • wexog:array–>白化的设计矩阵
  • wendog:array–>白化响应变量

误差项的n x n协方差矩阵:\mu\sim n \left(0,\Sigma\right)。

Generalized Linear Models

基本介绍

广义线性模型,广义线性模型目前支持使用单参数指数家族的估计。

数学模型

该模型对于每一个观察值都有如下假设:

其中是连接函数。是一个分布函数,这个分布函数是具有自然参数 ,比例参数和权重的指数弥散模型分布函数。该函数的概率密度如下:

所在目录和使用方法

Generalized Estimating Equations

基本介绍

广义的估计方程估计了面板、聚类或重复测量数据的广义线性模型,当观测结果可能与一个簇相关联时,但在簇之间不相关。 它支持与广义线性模型(GLM)相同的单参数指数家族的估计。

数学模型
所在目录和使用方法

Robust Linear Models

基本介绍
数学模型
所在目录和使用方法

Linear Mixed Effects Models

基本介绍
数学模型
所在目录和使用方法

Regression with Discrete Dependent Variable

基本介绍
数学模型
所在目录和使用方法

ANOVA

基本介绍
数学模型
所在目录和使用方法

Time Series analysis tsa

基本介绍

statsmodels。tsa包含对时间序列分析有用的模型类和函数。基本模型包括单变量自回归模型(AR)、矢量自回归模型(VAR)和单变量自回归移动平均模型(ARMA)。 非线性模型包括马尔可夫转换动态回归和自回归。它还包括时间序列的描述性统计,例如自相关、部分自相关函数和周期图,以及ARMA或相关过程的相应理论属性。 它还包括使用自动操作的方法

估计是由精确的或有条件的最大似然或条件最小二乘,使用卡尔曼滤波或直接滤波器。

目前,函数和类必须从相应的模块中导入,但是主要的类将在statsmodels.tsa命名空间中。在statsmols.tsa中的模块结构有如下几个:

  • stattools:经验属性和测试,acf,pacf,granger-因果关系,adf单元根测试,kpss测试,bds测试,ljung-box测试等。
  • ar_model:单变量自回归过程,有条件和精确最大似然和条件最小二乘的估计
  • arima_model:单变量ARMA过程,有条件和精确最大似然和条件最小二乘的估计
  • vector_ar:矢量自回归过程(VAR)估计模型,脉冲响应分析,预测误差方差分解,和数据可视化工具
  • kalmanf:使用卡尔曼滤波器的ARMA和其他模型的估计类
  • arma_process:具有给定参数的ARMA过程的属性,包括在ARMA、MA和AR表示之间进行转换的工具,以及acf、pacf、光谱密度、脉冲响应函数和类似的工具
  • sandbox.tsa.fftarma:类似于armaprocess,但在频域工作
  • tsatools:额外的辅助函数,用来创建滞后变量的数组,构造回归的趋势,趋势和相似。
  • filters:过滤时间序列的辅助函数
  • regime_seitching:马尔可夫转换动态回归和自回归模型

一些对时间序列分析有用的附加函数在statsmodels的其他部分,例如额外的统计测试。 在matplotlib、nitime和scikit.talkbox中也有一些相关的功能。这些函数更多地用于在信号处理中使用更长的时间序列,并且更频繁地在频域中工作。

数学模型
所在目录和使用方法