Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 您如何对“a”进行趋势分析;“预白”;时间序列?_Python_Python 3.x_Autocorrelation - Fatal编程技术网

Python 您如何对“a”进行趋势分析;“预白”;时间序列?

Python 您如何对“a”进行趋势分析;“预白”;时间序列?,python,python-3.x,autocorrelation,Python,Python 3.x,Autocorrelation,我想使用迭代方案在Python中“预白”一个时间序列。我知道使用R可能更容易。我不想使用LMS方法,而是想使用泰尔森估值器。我正在使用Wang和Swail(2000)中所述的方法 我们拟合以下模型:Yt=a+bt+Xt,其中a和b是Yt的截距和斜率参数,Xt是滞后1自相关的红噪声过程c:Xt=cXt-1+et (1) 计算时间序列Yt的滞后1自相关,c作为c的第一个估计。如果c

我想使用迭代方案在Python中“预白”一个时间序列。我知道使用R可能更容易。我不想使用LMS方法,而是想使用泰尔森估值器。我正在使用Wang和Swail(2000)中所述的方法

我们拟合以下模型:Yt=a+bt+Xt,其中a和b是Yt的截距和斜率参数,Xt是滞后1自相关的红噪声过程c:Xt=cXt-1+et

(1) 计算时间序列Yt的滞后1自相关,c作为c的第一个估计。如果c<0.05,则序列相关性的影响可忽略不计。回归参数按原样使用

(2) 否则,对预白化的时间序列Wt=(Yt-cYt-1)/(1-c)执行泰尔森估计

如何用Python编写第(2)部分

(3) 从原始数据系列中删除估计的趋势成分,并重新估计c。换句话说,我们对c的新估计是时间序列Yt-bt的滞后1自相关


(4) 继续进行迭代,直到c你的问题是什么?你如何对“预白化”时间序列(即Wt=(Yt-cYt-1)/(1-c))进行趋势分析
from sklearn.linear_model import LinearRegression, TheilSenRegressor
from sklearn.linear_model import RANSACRegressor
from statsmodels.tsa import stattools

x = df['ordinal'].values         
y = df[variable].values

res = stats.theilslopes(y, x, 0.95)

a = res[1]
b = res[0]

autocorr = stattools.acf(y)
autocorr_coeff = autocorr[1]
c = autocorr_coeff

if c < 0.05:
    #perform trend analysis on Wt = (Yt - cYt-1)/(1-c)
    (Yt - cYt-1)/(1-c) = a + c*b/(1-c) + b*t + et/(1-c)
    res = stats.theilslopes(-, -, 0.95)