Domanda

Per prima cosa, devo precisare che la mia conoscenza della statistica è piuttosto limitata, quindi per favore mi perdoni se la mia domanda sembra banale, o forse non ha nemmeno senso.

Non ho dati che non sembrano essere distribuito normalmente. In genere, quando ho tracciare intervalli di confidenza, vorrei utilizzare la media + - 2 deviazioni standard, ma non credo che sia di dimensioni adeguate per una distribuzione non uniforme. La mia dimensione del campione è attualmente impostato su 1000 campioni, che sembrerebbe sufficiente a determinare se si trattava di una distribuzione normale o no.

Io uso Matlab per tutta la mia trasformazione, quindi ci sono tutte le funzioni in Matlab che renderebbero facile calcolare gli intervalli di confidenza (diciamo il 95%)?

So che ci sono le funzioni 'quantile' e 'prctile', ma non sono sicuro se questo è quello che ho bisogno di usare. La funzione 'mle' restituisce anche gli intervalli di confidenza per la distribuzione normale dei dati, anche se si può anche fornire il proprio pdf.

Potrei usare ksdensity per creare un PDF per i miei dati, quindi alimentare che pdf nella funzione mle di darmi gli intervalli di confidenza?

Inoltre, come potrei fare per determinare se il mio dati è distribuito normalmente. Voglio dire che posso attualmente dire solo guardando l'istogramma o pdf da ksdensity, ma c'è un modo per misurarla quantitativamente?

Grazie!

È stato utile?

Soluzione

Sei certo bisogno di intervalli di confidenza o solo la gamma 90% dei dati casuali?

Se avete bisogno di questi ultimi, vi suggerisco di utilizzare prctile (). Ad esempio, se si dispone di un vettore con i campioni indipendenti identicamente distribuite di variabili aleatorie, è possibile ottenere alcune informazioni utili eseguendo

y = prcntile(x, [5 50 95])

Questo tornerà a [y (1), y (3)] l'intervallo in cui il 90% dei vostri campioni si verificano. E in y (2) si ottiene la mediana del campione.

Prova il seguente esempio (utilizzando una variabile distribuita normalmente):

t = 0:99;
tt = repmat(t, 1000, 1);
x = randn(1000, 100) .* tt + tt;  % simple gaussian model with varying mean and variance
y = prctile(x, [5 50 95]);

plot(t,  y);
legend('5%','50%','95%')

Altri suggerimenti

Quindi, ci sono un paio di domande lì. Ecco alcuni suggerimenti

Hai ragione che una media di 1000 campioni dovrebbero essere normalmente distribuito (a meno che i vostri dati è "pesante coda", che sto assumendo non è il caso). per ottenere un intervallo di 1-alpha fiducia per la media (nel tuo caso alpha = 0.05) è possibile utilizzare la funzione 'INV.NORM'. Per esempio dire che volevamo un IC 95% per l'una media del campione di X dati, allora possiamo digitare

N = 1000;             % sample size
X = exprnd(3,N,1);    % sample from a non-normal distribution
mu = mean(X);         % sample mean (normally distributed)
sig = std(X)/sqrt(N); % sample standard deviation of the mean
alphao2 = .05/2;      % alpha over 2   
CI = [mu + norminv(alphao2)*sig ,...
      mu - norminv(alphao2)*sig  ]

CI =

2.9369    3.3126

Test se un campione di dati è normalmente di distribuzione può essere fatto in molti modi. Un metodo semplice è con una trama QQ. Per fare questo, l'uso 'QQPlot (X)' dove X è il tuo campione di dati. Se il risultato è di circa una linea retta, il campione è normale. Se il risultato non è una linea retta, il campione non è normale.

Per esempio se X = exprnd(3,1000,1) come sopra, il campione non è normale e il QQPlot è molto non lineare:

X = exprnd(3,1000,1);
qqplot(X);

alt text

D'altra parte se i dati è normale la QQPlot darà una linea retta:

qqplot(randn(1000,1))

alt text

Si potrebbe prendere in considerazione, anche, utilizzando il bootstrap, con la bootci la funzione.

È possibile utilizzare il metodo proposto in [1]:

MEDIAN +/- 1.7(1.25R / 1.35SQN)

Dove R = Intervallo interquartile, SQN = radice quadrata di N

Questo è spesso usato in box plot dentellati, una visualizzazione di dati utile per i dati non-normale. Se le tacche dei due mediani non si sovrappongono, le mediane sono, circa, significativamente diverso a circa un livello di confidenza del 95%.

[1] McGill, R., J. W. Tukey, e W. A. ??Larsen. "Variazioni di boxplot". Lo statistico americano. Vol. 32, No. 1, 1978, pp. 12-16.

Non ho usato Matlab ma dalla mia comprensione delle statistiche, se la vostra distribuzione non può essere assunto come distribuzione normale, allora si deve prendere come la distribuzione t di Student e calcolare intervallo di confidenza e precisione.

http://www.stat.yale.edu/ corsi / 1997-1998 / 101 / confint.htm

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top