我有一个管理设备的系统。当这些设备出现故障时,将对其进行维修。假设我的数据集如下所示:
ID
Type
# of times serviced示例数据:
|ID| Type | #serviced |
|1 | iphone | 1 |
|2 | iphone | 0 |
|3 | android | 1 |
|4 | android | 0 |
|5 | blackberry | 0 |我想做的是,我想预测“在所有未维修的设备中,哪些设备有可能被维修”?(即)识别“有危险”的设备。
问题是我的培训数据将被服务> 0。任何#serviced=0都不会被冻结,而且似乎也不是参加培训的有效人选。(即)当它发生故障时,它将得到维修,因此计票将上升。
注意:
这个例子显然是简化的。在现实中,我有更多的功能来描述设备。
发布于 2015-09-28 23:40:09
您应该包括数据时,电话服务,以创建一个生存模式。这些模型在可靠性工程和治疗效果方面都是常用的。对于可靠性工程来说,将数据与威布尔分布相匹配是非常常见的。即使是飞机制造商也认为,经过3到5个数据点的校准,该模型是可靠的。我可以强烈推荐R包'flexsurv‘包。
您不能使用典型的线性或逻辑回归,因为您的人口中的一些电话将离开您的观察期,而没有任何服务。生存模型允许这种缺失的信息(这称为审查)。
通常,您将拥有以下数据
|ID| Type | serviced | # months_since_purchase
|1 | iphone | 1 | 12
|2 | iphone | 0 | 15
|3 | android | 1 | 2
|4 | android | 0 | 10
|5 | blackberry | 0 | 5.5有了这些数据,您可以在R中创建以下模型
require(survival)
model <- survfit(Surv(months_since_purchase, serviced) ~ strata(Type) +
cluster(ID), data = phone_repairs)survfit.formula Surv(months_since_purchase, serviced) ~ strata(Type) + cluster(ID)表示,months_since_purchase是进行观察的时间,如果为电话服务,则serviced为1,否则,strata(Type)将确保为每个电话创建不同的生存模型,cluster(ID)将确保与同一ID相关的事件被视为集群。
您可以使用联合模型(如JM )扩展此模型。
发布于 2015-09-28 21:43:27
这是监督学习问题。Type是一个预测器。#serviced分类器是目标变量。模型是针对您已经拥有的样本集进行培训的。最好的猜测是,任何模型都不会有实质性的预测能力。Type是不够的。
尝试在模型中包含更多的因素(预测因素)。比如years_being_in_usage,equipment_model,have_been_in_service_before等等。你得到的越多,你就能训练出更好的模特。
https://datascience.stackexchange.com/questions/8225
复制相似问题