值可以是 0、1、2、...、23 的“一天中的小时”是分类变量吗?我很想拒绝,因为例如,5 比 3 或 7 更接近 4 或 6。
另一方面,在 23 和 0 之间存在不连续性。
那么它通常被认为是分类的吗?请注意,“小时”是自变量之一,而不是我试图预测的变量。
值可以是 0、1、2、...、23 的“一天中的小时”是分类变量吗?我很想拒绝,因为例如,5 比 3 或 7 更接近 4 或 6。
另一方面,在 23 和 0 之间存在不连续性。
那么它通常被认为是分类的吗?请注意,“小时”是自变量之一,而不是我试图预测的变量。
根据您要建模的内容,小时(以及许多其他属性,如季节)实际上是序数循环变量。如果是季节,您可以认为它们或多或少是分类的,如果是小时,您也可以将它们建模为连续的。
但是,在您的模型中以不为您考虑周期性的形式使用小时数不会有成效。相反,试着想出某种转变。使用小时,您可以使用三角法
xhr = sin(2*pi*hr/24)
yhr = cos(2*pi*hr/24)
因此,您将改为使用xhr
andyhr
进行建模。例如,参见这篇文章:在线性回归中使用循环预测器。
一天中的时间最好不要表示为分类变量,因为这些值是自然排序的。例如,头发颜色是分类的,因为类别的顺序没有意义 - {red, brown, brown} 与 {blonde, brown, red} 一样有效。另一方面,一天中的时间有一个自然的排序——上午 9 点比下午 6 点更接近上午 10 点或上午 8 点。最好将其视为离散的序数变量。它具有循环的附加特征,因为上午 12 点在晚上 11 点之后并在凌晨 1 点之前。
从理论上讲,它取决于您如何格式化变量,即它可以是“连续的”(用单个系数建模)或分类的(一天中每个“小时”的系数)。您也可以混合使用这两种功能,例如分段功能。
实际上,因为 0 和 23 基本上是一天中的同一“小时”,所以我会考虑将一天中的时段分组为更大、更同质和可信的分组。例如,以 8 小时为增量 - 8am-4pm、4pm-12am 和 12-8am。