2016-05-23 8 views
1

So habe ich gelesen über passende Student-t in R mit MLE, aber es scheint immer der Fall zu sein, dass Standort und Maßstab Parameter von höchstem Interesse sind. Ich möchte nur einen Student-t (wie von Wikipedia beschrieben) an Daten anpassen, die normalerweise als normal verteilt betrachtet werden, also kann ich annehmen, dass der Mittelwert 0 ist und der Maßstab 1 ist. Wie kann ich das tun ist R?R Student-t (Standort 0 Maßstab 1)

+0

Genau, Sie verwenden MLE, um die "richtigen" Parameter der Student-T-Verteilung zu finden. Wenn Sie eine noch einfachere Methode zum Anpassen einer "t" -Distribution unter Verwendung der Maximum-Likelihood-Schätzung wünschen, können Sie 'fitdistr' aus dem MASS-Paket betrachten. –

Antwort

-1

Sie suchen nach der Funktion t.test.

x <- rnorm(100) 
t.test(x) 

Ich habe eine Probe here

EDIT

Ich glaube, ich Ihre Frage etwas falsch verstanden. Verwenden Sie t.test für Hypothesentests über den Standort Ihrer Populationsdichte (hier ein Standardnormal).

Bei der Anpassung der Parameter einer t-Verteilung sollten Sie dies nicht tun, es sei denn, Ihre Daten stammen aus einer t-Verteilung. Wenn Sie wissen, dass Ihre Daten aus einer Standardnormalverteilung stammen, kennen Sie die Position und die Skalierungsparameter bereits. Was ist der Sinn?

1

Wenn Sie Ihre Standort- und Skalierungsparameter "annehmen", Sie eine Verteilung nicht an die Daten "anpassen", gehen Sie einfach davon aus, dass die Daten einer bestimmten Verteilung folgen.

"Anpassen" einer Verteilung an einige Daten bedeutet, "geeignete" Parameter dieser Verteilung zu finden, damit sie Ihre Daten "genau" modelliert. Die Maximum-Likelihood-Schätzung ist eine Methode, um basierend auf einigen Daten Punktschätzer der Parameter zu finden.

Der einfachste Weg, um eine klassische Distribution wie Student-t anzupassen, ist die Verwendung der Funktion fitdistr aus dem MASS-Paket, die MLE verwendet.

Sie Angenommen, haben einige Daten:

library("MASS") 
# generating some data following a normal dist 
x <- rnorm(100) 

# fitting a t dist, although this makes little sense here 
# since you know x comes from a normal dist... 
fitdistr(x, densfun="t", df=length(x)-1) 

Beachten Sie, dass der Student-t Dichte nach Ort parametriert m, Skala s und den Freiheitsgraden df. df ist nicht abgestimmt, wird aber basierend auf den Daten festgelegt.

Die Ausgabe von fitdistr enthält die angepassten Werte für m und s. Wenn Sie die Ausgabe in einem Objekt speichern, können Sie programmgesteuert auf alle Arten von Informationen über die Anpassung zugreifen.

Die Frage ist jetzt, ob die Anpassung eines t dist ist, was Sie wirklich tun möchten. Wenn die Daten normal sind, warum sollten Sie ein t dist hinzufügen?