使用时间变量的R的多元回归

时间:2016-05-16 16:17:56

标签: r statistics cross-validation

我正在尝试用R进行多元回归分析,但我不确定如何将日期值纳入回归分析。

我想构建一个模型,使用以下变量预测从跟踪成员到订阅者的转换次数。

-day_of_trail

-hour_of_trail

-date_of_trail

-country_of_trail

-day_of_subscription

-hour_of_subscription

-days_to_subscribe

我希望能够从第1天开始估算转换率,并在添加额外订阅信息时提高准确率。

id_of_case  day_of_trail    hour_of_trail   date_of_trail   country_of_trail    day_of_subscription hour_of_subscription    days_to_subscribe
1              1/1/2010          12          Wednesday              US               1/1/2010           15                           0
2              1/2/2010          13          Monday                 US          
3              1/3/2010          12          Tuesday                UK          
4              1/4/2010          14          Thursday               US               1/4/2010           19                           0
5              1/5/2010          15          Wednesday              UK          
6              1/6/2010          12          Friday                 US               1/6/2010           16                           0
7              1/7/2010          9           Wednesday              CA          
8              1/8/2010          13          Thursday               US               1/8/2010           17                           0
9              1/9/2010          12          Wednesday              UK          
10             1/10/2010         15          Friday                 US          
11             1/11/2010         12          Wednesday              US               1/14/2010          16                           3
12             1/12/2010         16          Saturday               CA          
13             1/13/2010         12          Wednesday              UK          
14             1/14/2010         8           Monday                 US               1/15/2010          10                           1
15             1/15/2010         7           Thursday               US          
16             1/16/2010         12          Wednesday              CA          
17             1/17/2010         18          Friday                 CA               1/19/2010          20                           2
18             1/18/2010         19          Tuesday                US          
19             1/19/2010         14          Sunday                 US          
20             1/20/2010         7           Thursday               CA               2/27/2010           9                           38

感谢任何和所有帮助

1 个答案:

答案 0 :(得分:1)

如果您想在回归分析中使用日期组件,最好的方法是将日期转换为" m / d / y"到数值(天,年,月......)。 例如:

day_of_trail =  c("1/1/2010", "1/20/2010")
data = data.frame(day_of_trail)

data$day_of_trail2 <-  as.numeric(as.Date(data$day_of_trail, "%m/%d/%Y") - 
                       min(as.Date(data$day_of_trail, "%m/%d/%Y")))

# Subtracted by the min date to use that as an origin date.
# Also note when subtracting dates, R defaults to number of days

以数字形式获取日期后,您可以将其添加到回归模型中,并确定日期是否有效 - 或者模型中是否存在时间组件效应。

PS:在你的情况下,我怀疑你会期望出现季节性因素。在这种情况下,我建议将day_of_trail转换为它出现的月份(as.factor),然后将其用作回归分析中的一个组件。