jeremy.staub
jeremy.staub

Reputation: 369

fitting a distribution graphically

I am running some tests to try and determine what distribution my data follows. By the look of the density of my data I thought it looked a bit like a logistic distribution. I than used the package MASS to estimate the parameters of the distribution. However when I graph them together although better than the normal, the logistic is still not very good..Is there a way to find what distribution would go better? Thank you for the help !

library(quantmod)
getSymbols("^NDX",src="yahoo", from='1997-6-01', to='2012-6-01')
daily<- allReturns(NDX) [,c('daily')]
dailySerieTemporel<-ts(data=daily)
x<-na.omit(dailySerieTemporel)

library(MASS)
(xFit<-fitdistr(x,"logistic"))
#      location        scale    
#   0.0005210570   0.0106366354 
#  (0.0002941922) (0.0001444678)
xFitEst<-coef(xFit)

plot(density(x))
set.seed(125)
lines(density(rlogis(length(x), xFitEst['location'], xFitEst['scale'])), col=3)
lines(density(rnorm(length(x), mean(x), sd(x))), col=2) 

Upvotes: 1

Views: 169

Answers (1)

Dirk is no longer here
Dirk is no longer here

Reputation: 368499

This is elementary R: plot() creates a new plotting canvas by default, and you should use a command such as lines() to add to an existing plot.

This works for your example:

plot(density(x))
lines(density(rlogis(length(x), location = 0.0005210570,
                     scale = 0.0106366354)), col="blue")

as it adds the estimated logistic fit in blue to your existing plot.

Upvotes: 3

Related Questions