当前位置:   article > 正文

Python之 【模型建立和测试-模型测试模板】_python 自定义breusch-godfrey检验

python 自定义breusch-godfrey检验

目录

1.线性回归

1.1导入所需模块

1.2读取数据

1.3模型参数估计

2.以下一组统计检验用于模型有效性的定量验证。

2.1显著性/重要性

3.固定性

4.模型的线性度

5.独立变量的多重关联性

5.1Variance Inflation Factor (VIF)差异性通货膨胀系数(VIF)

5.2状态指数Condition Index

5.3残留物规范性

6.残留物的自相关性

6.1ACF and PACF plots

6.2残余自相关检验

7.残留物的异方差性

7.1残差与拟合值对比图

8.回归模型系数的稳定性

8.1前进稳定性

8.2后向稳定性

9.性能测试

10.输入数据检查

10.1视觉检测

10.2基本统计

10.3高影响点

11.影响程度

11.1DFFITS

11.2DFBETA

11.3 Cook's distance


 

1.线性回归

1.1导入所需模块

  1. import warnings
  2. warnings.filterwarnings("ignore")
  3. import matplotlib.pyplot as plt
  4. %matplotlib inline
  5. import math
  6. # imports
  7. import pandas as pd
  8. import numpy as np
  9. # from sklearn.linear_model import LinearRegression # for ml
  10. import statsmodels.api as sm
  11. # statistical tests
  12. from statsmodels.tsa.stattools import adfuller, kpss # stationarity
  13. from statsmodels.stats.api import linear_harvey_collier # linearity
  14. from statsmodels.stats.diagnostic import linear_rainbow # linearity
  15. from statsmodels.stats.outliers_influence import variance_inflation_factor as vif # multicollinearity
  16. from scipy.stats import shapiro, anderson # normality
  17. from statsmodels.stats.stattools import durbin_watson # autocorrelation
  18. from statsmodels.stats.diagnostic import acorr_ljungbox, acorr_breusch_godfrey # autocorrelation
  19. from statsmodels.stats.diagnostic import het_breuschpagan # heteroscedasticity
  20. from statsmodels.stats.api import het_goldfeldquandt # heteroscedasticity
  21. # stat graphics
  22. from statsmodels.graphics.regressionplots import plot_ccpr # partial residuals plot
  23. from statsmodels.graphics.gofplots import qqplot # qq plot for normality of residuals
  24. from statsmodels.graphics.tsaplots import plot_acf, plot_pacf # autocorrelation plots

1.2读取数据

  1. # 读取数据,并打印前5
  2. data = pd.read_csv('data/regdat1.csv', sep=';', header=0, index_col=0)
  3. data.head()

1.3模型参数估计

  1. #建立模型
  2. X = data.iloc[:, 1:]
  3. y = data.iloc[:, 0]
  4. reg_model = sm.OLS(y, X)
  5. reg_model = reg_model.fit()
  6. reg_summary = reg_model.summary()
  7. reg_summary

2.以下一组统计检验用于模型有效性的定量验证。

回归模型和系数的显著性:t准则、F准则。
变量和残差的稳定性:增强Dickey-Fuller检验(ADF)、Phillips-Perron检验(PP)、Kwiatkowski-Phillips-Schmidt-Shin检验(KPSS)。
因变量和自变量之间的依赖线:部分残差图,Ramsey RESET检验。
无多线性:VIF和条件指数。
正常残差:Q-Q图、Shapiro-Wilk检验、Kolmogorov-Smirnov检验、Jarka-Ber检验和Anderson-Darling检验。
无自相关:ACF和PACF图、Darbin-Watson检验、Broisch-Godfrey检验和Young Box检验。
残余物的同质性:残余物与对应值的关系图,Broysch-Pagan试验和Goldfeldt-Quandt试验。
回归系数稳定性:前向和后向稳定性检验,滚动周检验。
下文将详细介绍所有这些测试及其结果。

  1. # 阈值
  2. p_value_threshold = 0.05
  3. confidence_threshold = 0.01
  4. removal_rate = 0.3 # 30%
  5. number_of_out_of_sample_data = 9

2.1显著性/重要性

变量值--T-тест

reg_summary.tables[1]

回归系数在5%的水平上显著。

回归方程的显著性--F-тест

reg_summary.tables[0]

F统计值为71.83,P值=6.1e-16,因此,回归方程显著。

3.固定性

对于一个时间序列模型,所有的因变量、自变量和残差都必须使用ADF检验、PP检验和KPSS检验来检验其稳定性。每个变量必须至少通过2次固定测试。对于每个固定检验,必须对因变量、自变量和残差进行固定性评价。

零平均静止性(仅针对残留物);
单一平均静止性;以及
这是一种趋势性的静止。
确定的趋势静止性是指变量包含趋势(

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/358928
推荐阅读
相关标签