Berechnen Sie die cross-Validierung für das Verallgemeinerte Lineare Modell in Matlab

Mache ich eine regression mit Verallgemeinerten Linearen Modell.Ich bin gefangen offguard mit der crossVal Funktion. Meine Implementierung so weit;

x = 'Some dataset, containing the input and the output'

X = x(:,1:7);
Y = x(:,8);

cvpart = cvpartition(Y,'holdout',0.3);
Xtrain = X(training(cvpart),:);
Ytrain = Y(training(cvpart),:);
Xtest = X(test(cvpart),:);
Ytest = Y(test(cvpart),:);

mdl = GeneralizedLinearModel.fit(Xtrain,Ytrain,'linear','distr','poisson');

Ypred  = predict(mdl,Xtest);
res = (Ypred - Ytest);
RMSE_test = sqrt(mean(res.^2));

Den code unten ist für die Berechnung der Kreuz-Validierung für mulitple regression als erhalten link. Ich möchte etwas ähnliches für die Verallgemeinerten Linearen Modells.

c = cvpartition(Y,'k',10);
regf=@(Xtrain,Ytrain,Xtest)(Xtest*regress(Ytrain,Xtrain));
cvMse = crossval('mse',X,Y,'predfun',regf)
  • Was ist die Frage?
  • Ich möchte berechnen, cross-validation-Fehler für die GLM mit den Funktionen statistische toolbox von Matlab. Nun, gibt es etwas, dass ich vermisst werde, oder dass Matlab einfach doesnot haben eine solche Funktion eingebaut.
InformationsquelleAutor motiur | 2014-05-28
Schreibe einen Kommentar