在线性回归中使用循环预测器

机器算法验证 回归 Python 循环统计
2022-02-08 14:30:40

我正在尝试使用风数据 (0, 359) 和一天中的时间 (0, 23) 来拟合模型,但我担心它们无法很好地拟合线性回归,因为它们本身不是线性参数。我想使用 Python 转换它们。我已经看到有人提到通过取度数的 sin 和 cos 来计算向量平均值,至少在风的情况下,但不是很多。

是否有可能有用的 Python 库或相关方法?

1个回答

风向(这里以度为单位,大概是从北方顺时针方向的指南针方向)是一个循环变量。测试是音阶的常规开头与结尾相同,即0=360. 当被视为预测变量时,它可能最好映射到正弦和余弦。无论您的软件是什么,它都可能期望以弧度为单位测量角度,因此转换将相当于

sin(π direction/180),cos(π direction/180)

鉴于2π弧度=360. 类似地,从午夜开始以小时为单位测量的时间可以映射到正弦和余弦,使用

sin(π time/12),cos(π time/12)

或者

sin(π(time+0.5)/12),cos(π(time+0.5)/12)

具体取决于时间的记录方式或应如何解释。

有时,自然或社会是有义务的,并且对循环变量的依赖表现为某个方向对响应是最佳的,而相反的方向(半个圆)是最坏的。在这种情况下,一个正弦和余弦项就足够了;对于更复杂的模式,您可能需要其他术语。有关循环、傅立叶、周期性、三角回归技术的更多详细信息,可以在此处找到,并提供更多参考资料。好消息是,一旦您创建了正弦和余弦项,它们只是回归中的额外预测变量。

有大量关于循环统计的文献,其本身被视为方向统计的一部分。奇怪的是,这种技术通常没有被提及,因为该文献中的重点通常是循环响应变量。通过向量方法总结循环变量是一种标准的描述方法,但对于回归不是必需的或直接有帮助的。

关于术语的一些细节风向和一天中的时间是统计术语变量,而不是参数,无论您在科学分支中使用什么。

线性回归由参数的线性定义,即对于向量y预测Xβ它是参数的向量β,而不是预测变量矩阵X,这更关键。因此,在这种情况下,正弦和余弦等预测变量是在圆形尺度上测量的,并且也仅限于[1,1]对它们出现在线性回归中没有障碍。

附带评论对于诸如粒子浓度之类的响应变量,我希望使用具有对数链接的广义线性模型来确保积极的预测。