首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在回归模型中指定角度预测器(`sun_altitude`)的周期性?

如何在回归模型中指定角度预测器(`sun_altitude`)的周期性?
EN

Stack Overflow用户
提问于 2020-10-07 14:34:04
回答 1查看 27关注 0票数 0

我使用的是R中的momentuHMM包,它使用隐马尔可夫模型分析数据。但是,系数估计是使用线性回归计算的。

如果我想使用Hour (格式: 24小时)作为给定Y因变量的预测变量,我应该指定Y ~ cosinor(Hour, period = 24)。余弦函数自动合并sin()cos()以及它们之间的交互。

我想知道如果我使用变量cosinor(),我应该在前面提到的函数sun_altitudeperiod中指定哪个值,值的范围在-1.3 (夜间)到1.2 (中午)之间。我应该在period?2.5中指明什么?我之所以怀疑,是因为Hoursun_altitude的不同之处在于,对于Hour,在值23之后,下一个值是00,因此此预测值的最大值和最小值更接近,例如,0012。但是,这与sun_altitude不同,因为0的值和1.2的值比1.2-1.2之间的值更接近。也就是说,对于sun_altitude,变量的最大值和最小值之间的距离并不比最小值和中值之间的距离更近。

在指定period时是否应该考虑这一点

下面我展示了一些使用sun_altitudes创建数据帧的代码,以防有人想看一下:

代码语言:javascript
复制
df <- seq(as.POSIXct("2016-07-29 00:00:00", format="%Y-%m-%d %H:%M:%S",tz="UTC"), as.POSIXct("2016-07-31 23:45:00", format="%Y-%m-%d %H:%M:%S",tz="UTC"), "15 min")
df<- as.data.frame(df)
colnames(df)<- c("Round_datetime15")
df[2]<-getSunlightPosition(date=df$Round_datetime15, lat= 37.6, lon=-0.65, keep = ("altitude"))[4]
range(df$altitude)

注:太阳高度的最大值和最小值不是在一天内达到的。太阳的最大值在夏天,最小值在冬天。

EN

回答 1

Stack Overflow用户

发布于 2021-02-17 17:09:02

我没有足够的声誉来发表评论,所以我把这篇文章作为一个答案。

我不清楚为什么你会在这种情况下包括太阳高度的周期性影响。正如您在一天中提到的时间,当两端需要匹配时,应该考虑周期性影响(例如,一天中的时间在23:59和00:00的影响应该非常相似)。从您所写的内容来看,太阳高度的影响不应该在-1.3和1.2之间匹配,所以我认为您不需要cosinor函数。

所以,我认为你可以在你的公式中包含协变量,也就是~ sun_altitude

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64238447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档