Eu estava olhando esta página na implementação de Monte Carlo do teste de Lillefors. Eu não entendo esta frase:
Há um erro aleatório neste cálculo da simulação. No entanto, devido ao truque de adicionar 1 ao numerador e denominador no cálculo do valor P, ele pode ser usado diretamente, sem levar em consideração a aleatoriedade.
O que eles querem dizer com o truque de adicionar 1 ao numerador e denominador?
O trecho de código relevante está aqui:
n <- length(x)
nsim <- 4999
d.star <- double(nsim)
for (i in 1:nsim) {
x.star <- rnorm(n)
d.star[i] <- fred(x.star)
}
hist(d.star)
abline(v = d.hat, lty = 2)
## simulation-derived P-value
pval <- (sum(d.star > d.hat) + 1) / (nsim + 1)
monte-carlo
lilliefors
Aksakal
fonte
fonte
Respostas:
A explicação na página referenciada é
Para entender isso, precisamos examinar o código, cujas linhas-chave (consideravelmente abreviadas) são
O principal problema é que o código não corresponde à cotação. Como podemos reconciliá-los? Uma tentativa começa com a última metade da cotação. Podemos interpretar o procedimento como compreendendo as seguintes etapas:
Recolha de dados distribuídos de forma independente e identicamente de acordo com uma lei de probabilidade L . Aplique um procedimento de teste t (implementado no código as ) para produzir o número T 0 = t ( X 1 , … , X n ) .X1, X2, … , Xn G t T0=t(X1,…,Xn)
fred
Gerar via computador conjuntos de dados comparáveis, cada um de tamanho n , de acordo com uma hipótese nula com a lei probabilidade F . Aplicar t para cada tal conjunto de dados para produzir N números T 1 , T 2 , ... , T N .N=nsim n F t N T1,T2,…,TN
Calcular
d.star > d.hat
fonte
Eu acredito que aqui, 1 é adicionado a ambos porque a estatística observada está incluída na distribuição de referência; se for esse o caso, é por causa da parte "pelo menos tão grande" da definição de valor-p.
Não sei ao certo porque o texto parece estar dizendo algo diferente, mas seria por isso que eu faria isso.
fonte