statsmodels

Does statsmodels WLS have get_influence() function?

人走茶凉 提交于 2020-04-16 03:57:25
问题 How do I get leverage/get_influence from a WLS model fit in python statsmodels Taking the example from http://statsmodels.sourceforge.net/stable/index.html # Load data dat = sm.datasets.get_rdataset("Guerry", "HistData").data # Fit regression model (using the natural log of one of the regressors) results_ols = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit() results_w = smf.wls('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit() I can call results_ols.get_influence but not

统计学预测模型——通过 Python 代码实现时间序列数据分析

混江龙づ霸主 提交于 2020-04-11 18:55:19
在本篇中,我们将展示使用 Python 统计学模型进行时间序列数据分析。 问题描述 目标:根据两年以上的每日广告支出历史数据,提前预测两个月的广告支出金额。 原始数据:2017-01-01 到 2019-09-23 期间的每日广告支出。 数据准备:划分训练集和测试集。 df1 = data[['Date','Spend']].set_index('Date') train = df1.iloc[:933,:] test = df1.iloc[933:,:] test.shape,train.shape 测试集大小:(63,1);训练集大小:(933,1)。 1、综述 时间序列分析常用统计模型 单变量时间序列统计学模型,如:平均方法、平滑方法、有/无季节性条件的 ARIMA 模型。 多变量时间序列统计学模型,如:外生回归变量、VAR。 附加或组件模型,如:Facebook Prophet、ETS。 结构化时间序列模型,如:贝叶斯结构化时间序列模型、分层时间序列模型。 在本篇文章中,我们主要关注 SARIMA 和 Holt-winters 方法。 单变量时间序列统计学模型的关键要素 如果我们想要对时间序列数据进行上述统计学模型分析,需要进行一系列处理使得: (1)数据均值 (2)数据方差 (3)数据自协方差 这三个指标不依赖于时间项。即时间序列数据具有平稳性。

How to create a loop in Python (ADF test with p-value check)

旧巷老猫 提交于 2020-03-05 02:42:06
问题 I need a little help with creating a loop in Python. Here's the code that I'm using: import pandas as pd import numpy as np import math import matplotlib.pyplot as plt from statsmodels.graphics.tsaplots import plot_acf from statsmodels.graphics.tsaplots import plot_pacf %matplotlib inline df= pd.read_csv('original_data.csv', index_col='1') from statsmodels.tsa.stattools import adfuller def adf_test(timeseries): #Perform Dickey-Fuller test: test_types = ['nc','c','ct'] for tests in test_types:

statsmodels logistic regression odds ratio

混江龙づ霸主 提交于 2020-03-04 07:17:22
问题 I'm wondering how can I get odds ratio from a fitted logistic regression models in python statsmodels. >>> import statsmodels.api as sm >>> import numpy as np >>> X = np.random.normal(0, 1, (100, 3)) >>> y = np.random.choice([0, 1], 100) >>> res = sm.Logit(y, X).fit() Optimization terminated successfully. Current function value: 0.683158 Iterations 4 >>> res.summary() <class 'statsmodels.iolib.summary.Summary'> """ Logit Regression Results =====================================================

用Python实现一个基于EG协整法的跨周期套利策略

时光总嘲笑我的痴心妄想 提交于 2020-02-27 08:30:51
一些金融学与数学背景 众所周知,套利交易的大前提是两个有相同属性交易标的价格的均值回归,是一种赚取这种均值回归的利差交易。经典回归模型是建立在平稳数据变量的基础之上的,对于非平稳变量,不能使用经典回归模型,否则会出现虚假回归等诸多问题。 由于许多关联交易标的价格相关性是非平稳的,这就给经典的回归分析方法带来了很大限制。实际应用中大多数时间序列其实都是非平稳的,通常采用差分方法消除序列中含有的非平稳趋势,使得序列平稳化后建立模型,比如使用ARIMA模型。但是变换后的序列限制了交易标的价格的范围,并且有时变换后的序列由于不具有直接的分析意义,使得化为平稳序列后所建立的时间序列模型不便于解释。 1987年Engle和Granger提出的协整理论及其方法,为非平稳序列的建模提供了另一种途径。虽然一些经济变量的本身是非平稳序列,但是,它们的线性组合却有可能是平稳序列。这种平稳的线性组合被称为协整方程,且可解释为变量之间的长期稳定的均衡关系。 例如,消费和收入都是非平稳时间序列,但是具有协整关系。假如它们不具有,那么长期消费就可能比收入高或低,于是消费者便会非理性地消费或累积储蓄。 假定一些经济指标被某经济系统联系在一起,那么从长远看来这些变量应该具有均衡关系,这是建立和检验模型的基本出发点。在短期内,因为季节影响或随机干扰,这些变量有可能偏离均值。如果这种偏离是暂时的

五个 Python 常用数据分析库

夙愿已清 提交于 2020-02-27 02:33:36
前言 Python 是常用是数据分析工具,常用的数据分析库有很多,下面主要介绍如下五个分析库:NumPy、Pandas、SciPy、StatsModels、Matplotlib。 NumPy NumPy 是一个非常常用的数据分析库,更准确点说是一个数学计算库,包括下面的 Pandas 也依赖于 NumPy。话说为什么用 NumPy,他有什么优点? 众多内置的数学计算:文章你看到这里,说明你要做的工作大概率是和人工智能、机器学习或数据分析相关的工作,这些工作不是简单的代码逻辑的堆叠,而更多的数学的应用,时常需要矩阵计算、基本线性代数操作、随机模拟和傅里叶变换等,NumPy 内置就可以精心这些操作,而不需要你徒手进行傅里叶展开。 快:举个例子,矩阵 a 和 b 的乘法,可以直接写成 a * b(元素乘积)或 a @ b(矩阵乘积),会比你徒手写循环要快,原因你可能猜到了,那就是预编译成 C 代码或者用到更好的缓存策略等,有这样的优点,你没有什么理由不用。 代码简单:矩阵相乘上面的写法就比循环更易读,更少的代码也意味着更少的 Bug。 做数据分析,人生苦短,都已经用了 Python,那不妨了解一下 NumPy,你会有更深的理解。 Pandas Pandas,Python Data Analysis Library,这是一个为数据建模分析而生的工具库,Pandas 包含许多数据模型

How to do 2SLS IV regression using statsmodels python?

孤者浪人 提交于 2020-02-22 08:45:25
问题 I'm trying to do 2 stage least squares regression in python using the statsmodels library. from statsmodels.sandbox.regression.gmm import IV2SLS resultIV = IV2SLS(dietdummy['Log Income'], dietdummy.drop(['Log Income', 'Diabetes']), dietdummy.drop(['Log Income', 'Reads Nutri') Reads Nutri is my endogenous variable my instrument is Diabetes and my dependent variable is Log Income . Did I do this right? its much different than the way I would do it on stata. Also, when I do resultIV.summary() I

How to do 2SLS IV regression using statsmodels python?

橙三吉。 提交于 2020-02-22 08:44:08
问题 I'm trying to do 2 stage least squares regression in python using the statsmodels library. from statsmodels.sandbox.regression.gmm import IV2SLS resultIV = IV2SLS(dietdummy['Log Income'], dietdummy.drop(['Log Income', 'Diabetes']), dietdummy.drop(['Log Income', 'Reads Nutri') Reads Nutri is my endogenous variable my instrument is Diabetes and my dependent variable is Log Income . Did I do this right? its much different than the way I would do it on stata. Also, when I do resultIV.summary() I

How to do 2SLS IV regression using statsmodels python?

若如初见. 提交于 2020-02-22 08:44:05
问题 I'm trying to do 2 stage least squares regression in python using the statsmodels library. from statsmodels.sandbox.regression.gmm import IV2SLS resultIV = IV2SLS(dietdummy['Log Income'], dietdummy.drop(['Log Income', 'Diabetes']), dietdummy.drop(['Log Income', 'Reads Nutri') Reads Nutri is my endogenous variable my instrument is Diabetes and my dependent variable is Log Income . Did I do this right? its much different than the way I would do it on stata. Also, when I do resultIV.summary() I

Forecasting with statsmodels

╄→尐↘猪︶ㄣ 提交于 2020-02-19 16:56:53
问题 I have a .csv file containing a 5-year time series, with hourly resolution (commoditiy price). Based on the historical data, I want to create a forecast of the prices for the 6th year. I have read a couple of articles on the www about these type of procedures, and I basically based my code on the code posted there, since my knowledge in both Python (especially statsmodels) and statistic is at most limited. Those are the links, for those who are interested: http://www.seanabu.com/2016/03/22