2016-12-21 4 views
2

Je me demandais s'il était possible de prédire avec la fonction plm du paquet plm dans R pour un nouvel ensemble de données de variables prédictives. Je créer un objet modèle en utilisant:Prédire avec la fonction plm dans R

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

Maintenant, je suis l'espoir de prédire une variable dépendante d'un nouvel ensemble de données qui n'a pas été utilisé dans l'estimation du modèle. Je peux le faire grâce à l'aide des coefficients de l'objet modèle comme celui-ci:

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) 

tel que je définissaient toutes les colonnes d'index utilisées dans le modèle et abandonné colonnes en raison de colinéarité dans col_idx et par la suite la construction d'une matrice de données qui a besoin être multiplié par les coefficients du modèle. Cependant, je peux voir des erreurs se produisant beaucoup plus facilement avec la suppression manuelle des colonnes.

Une fonction conçue pour ce faire rendrait le code beaucoup plus lisible je suppose. J'ai également trouvé la fonction pmodel.response() mais je peux seulement obtenir ceci pour l'ensemble de données qui a été utilisé dans la prédiction de l'objet de modèle réel.

Toute aide serait appréciée!

+0

Qu'est-ce que vous avez besoin d'aide? Cela ressemble à une question statistique plutôt qu'à une question codée ... Que voulez-vous dire par «je peux voir des erreurs se produire beaucoup plus facilement avec la suppression manuelle des colonnes»? – Llopis

+0

Voir le '? Pmodel.response' –

+0

J'ai vérifié'? Pmodel.responde' mais pour la classe de mon objet de sortie de modèle, qui est 'plm' et 'panelmodel', en utilisant une structure de données contenant des fonctionnalités prédictives comme argument pour le paramètre 'data' renvoie les valeurs prédictives d'origine de l'ensemble de données sur lequel le modèle est entraîné. – Michael

Répondre