1

我想根据一些谐波对我的数据(时间序列)进行分位数回归。这是为了消除分位数的时间变异性。

谐波很简单:

nu = 2*np.pi/tau
h1 = np.sin(1* nu * x)
h2 = np.cos(1* nu * x)
h3 = np.sin(2* nu * x)
h4 = np.cos(2* nu * x)

最直接的公式是:

modqr = smf.quantreg('y ~ h1+h2+h3+h4', data)

由此modqr我将模型拟合为:

res = modqr.fit(q=0.8)

res将有 5 个系数、一个截距和 4 个谐波系数。

但是,我需要我的 y 是非负的,所以一个简单的转换可能是这样的:

modqr = smf.quantreg('y ~ np.exp(h1+h2+h3+h4)', data)

它是y谐波和的指数的函数。

但是,如果我使用这个公式,结果将只有 2 个参数,当然,一个用于截距,一个用于术语np.exp(h1+h2+h3+h4),它被视为一个唯一的自变量。

问:有没有办法写这个公式来欺骗 quantreg 来评估我的谐波和的指数,因此仍然给我 5 个参数?

我认为我可以通过类似于family=Poisson()当我拟合泊松回归时通过 kwargs 的方式传递我的自变量公式的转换,但我不确定如何。

4

0 回答 0