Frage

Ich habe ein System, das Ausrüstungen verwaltet. Wenn diese Geräte fehlerhaft sind, werden sie gewartet. Stellen Sie sich vor, mein Datensatz sieht so aus:

ID
Type
# of times serviced

Beispieldaten:

|ID| Type       | #serviced |
|1 | iphone     | 1         |
|2 | iphone     | 0         |
|3 | android    | 1         |
|4 | android    | 0         |
|5 | blackberry | 0         |

Was ich tun möchte, ist, ich möchte "alle nicht gewarteten Geräte, die wahrscheinlich gewartet werden" vorhersagen, was wahrscheinlich gewartet wird? " (dh) identifizieren "am Risiko" ausgerichtet.

Das Problem ist, dass meine Trainingsdaten #Serviced> 0 sind. Jeder #Serviced = 0 wird nicht eingefroren und scheint keine gültigen Kandidaten zu sein, um sie in das Training einzubeziehen. (dh) Wenn es fehlschlägt, wird es gewartet, daher wird die Anzahl steigen.

  1. Ist das ein beaufsichtigtes oder unbeaufsichtigtes Problem? (Beaufsichtigt, weil ich unbeaufsichtige Etiketten gewartet und nicht serviert wurde, weil ich mich nicht mit gewartetem und dort ausgestattet habe, indem ich gefährdete Ausrüstungen identifizieren möchte)

  2. Welche Daten soll ich in das Training einbeziehen?

Notiz:

Das Beispiel ist offensichtlich vereinfacht. In Wirklichkeit habe ich mehr Funktionen, die die Ausrüstung beschreiben.

War es hilfreich?

Lösung

Sie sollten Daten einfügen, wenn das Telefon gewartet wurde, um ein Überlebensmodell zu erstellen. Diese Modelle werden üblicherweise sowohl in Zuverlässigkeitstechnik als auch in der Wirksamkeit der Behandlung verwendet. Für Zuverlässigkeitstechnik ist es sehr häufig, Ihre Daten in eine Weibull -Verteilung anzupassen. Sogar Flugzeughersteller betrachten das Modell nach Kalibrieren mit drei bis fünf Datenpunkten als zuverlässig. Ich kann das R -Paket 'Flexsurv' Paket sehr empfehlen.

Sie können typische lineare oder logistische Regressionen nicht verwenden, da einige Telefone in Ihrer Bevölkerung Ihre Beobachtungsphase verlassen, ohne jemals gewartet zu werden. Überlebensmodelle ermöglichen diese Art von fehlenden Informationen (dies wird als Zensur bezeichnet).

Normalerweise hätten Sie die folgenden Daten

|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

Mit diesen Daten können Sie das folgende Modell in R erstellen

require(survival)
model <- survfit(Surv(months_since_purchase, serviced) ~ strata(Type) +
 cluster(ID), data = phone_repairs)

Das survfit.formula Surv(months_since_purchase, serviced) ~ strata(Type) + cluster(ID)zeigt an, dass months_since_purchase ist die Zeit, zu der eine Beobachtung gemacht wurde, serviced ist 1, wenn das Telefon gewartet wurde und sonst 0, strata(Type)Stellen Sie sicher, dass Sie für jedes Telefon ein anderes Überlebensmodell erstellen.cluster(ID) Stellen Sie sicher, dass Ereignisse in Bezug auf dieselbe ID als Cluster betrachtet werden.

Sie könnten dieses Modell mit gemeinsamen Modellen erweitern, z. JM.

Andere Tipps

Dies ist beaufsichtigtes Lernproblem. Type ist ein Prädiktor. #serviced Der Klassifizierer ist die Zielvariable. Das Modell ist auf Proben -Set trainiert, die Sie bereits haben. Die beste Vermutung ist, dass jedes Modell keine wesentlich vorhersagefähige Fähigkeiten haben wird. Type ist nicht genug.

Versuchen Sie, weitere Faktoren (Prädiktoren) in das Modell aufzunehmen. Wie years_being_in_usage, equipment_model, have_been_in_service_before usw. Je mehr Sie bekommen, desto besser können Sie trainieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top