Quiero simular los datos de temperatura para algunos "what-if" en los cálculos. El problema es que sólo tengo una serie de tiempo de 10 real de la temperatura de valores de datos. Quiero usar la temperatura como una entrada para la simulación, por lo que necesito una manera de generar un gran número de los valores de temperatura que son consistentes con el original de 10 valores. Es probablemente aceptable asumir que provienen de una distribución normal, pero no sé la media o la varianza.
No tengo manera de probarlo, pero dudo que el 10 valores hacen un buen trabajo representando a todo el rango de temperatura. Si yo uso el sample
función para la simulación, como se muestra a continuación, que sólo recibe el original de la vuelta a los valores. Que simplemente no se ve bien. Si yo uso el rnorm
función, sé que no sé la varianza, por lo que no creo que es correcto. Así que, me quedo con la rt
(función de distribución t).
A continuación es una maqueta del problema.
ori <- rnorm(n=10, mean=65, sd=5) #original 10 data points
num.sam <- sample(x=ori, size=100, replace = TRUE) #simulation using sample
num.tdis <- mean(ori) + (rt(n=100, df=10) * sd(ori)) #simulation using a t distribution
hist(ori, breaks=40:90)
hist(num.sam, breaks=40:90)
hist(num.tdis, breaks=40:90)
Mis preguntas son,
Cuando sólo tengo los datos (media y varianza desconocida), y es razonable suponer que los datos provenían de una distribución normal, que está bien para generar los datos de una simulación a partir de una distribución t?
Para este tipo de situación, la única vez que yo usaría
rnorm
para la simulación es que si yo sabía de la varianza (no de la varianza estimada de los datos), derecho?Si una distribución t de simulación es la de aceptar estas condiciones, existen condiciones donde es mejor muestra de los datos (por ejemplo, 100 puntos de datos originales, 200, etc)?
Editar:
- Ya he utilizado el original de datos para estimar la media y la varianza, si los grados de libertad en la tercera línea del código (
rt(...)
) se reduce de 10 a 9? O 8?