2016-12-21 6 views
2

Ich frage mich, ob es möglich ist, mit der Plm-Funktion aus dem Plm-Paket in R für einen neuen Datensatz der Vorhersagevariablen zu prognostizieren. Ich habe ein Modell-Objekt erstellen, mit:Vorhersage mit plm Funktion in R

model <- plm(formula, data, index, model = 'pooling') 

Jetzt hoffe ich eine abhängige Variable von einem neuen Datensatz vorherzusagen, die nicht in der Schätzung des Modells verwendet wurde. Ich kann es tun, um die Koeffizienten von dem Modellobjekt, wie dies durch den Einsatz von:

col_idx <- c(...) 
df <- cbind(rep(1, nrow(df)), df[(1:ncol(df))[-col_idx]]) 
fitted_values <- as.matrix(df) %*% as.matrix(model_object$coefficients) 

so, dass ich zuerst im Modell verwendeten Indexspalte definieren und gelöschten Spalten aufgrund Kollinearität in col_idx und anschließend eine Matrix von Daten aufzubauen, die benötigen mit den Koeffizienten aus dem Modell zu multiplizieren. Ich sehe jedoch Fehler, die beim manuellen Löschen von Spalten viel einfacher sind.

Eine Funktion entwickelt, um dies zu tun, würde den Code viel lesbarer machen, denke ich. Ich habe auch die pmodel.response() -Funktion gefunden, aber ich kann das nur für die Datenmenge, die bei der Vorhersage des tatsächlichen Modellobjekts verwendet wurde, verwenden.

Jede Hilfe wäre willkommen!

+0

Was brauchen Sie Hilfe? Es scheint eher eine statistische Frage als eine Kodierung zu sein ... Was meinen Sie mit "Ich kann sehen, dass Fehler beim manuellen Löschen von Spalten viel leichter auftreten."? – Llopis

+0

Siehe '? Pmodel.response' –

+0

Ich überprüfte'? Pmodel.responde' aber für die Klasse meines Modells Ausgabeobjekt, das 'Plm' und 'Panelmodel' ist, mit einem Datenrahmen mit Vorhersagefunktionen als Argument für den Parameter "Daten" gibt die ursprünglichen Vorhersagewerte für den Datensatz zurück, auf dem das Modell trainiert wurde. – Michael

Antwort

Verwandte Themen