2 votos

¿Cómo analizar los datos que pueden provenir de unas distribuciones normales concatenadas en orden?

Por ejemplo, tengo una serie de valores como los siguientes

data <- c(rnorm(10000,40,1500),rnorm(9000,-35,1400),rnorm(11000,30,1300))

No conozco la media, no conozco la sd de mis datos, y estoy particularmente interesado en el "signo de la media" de mis datos (puedo hacer una prueba t pero la mayoría de las veces no es significativa, e incluso si lo es, sólo cuenta la mitad de la historia), y sería mejor saber si cambia con el tiempo. (sin embargo, creo que los datos no son una serie temporal, es decir, los puntos de datos consecutivos son independientes entre sí). Pero, también dudo que mis datos puedan tener diferentes distribuciones de base (supuestamente normales) en diferentes etapas de tiempo.

Entonces, ¿cuál es la forma estándar de analizar estos datos? Puedes ver que el sd de mis datos es bastante grande. ¿Tengo que fingir que es una serie temporal y descomponerla para ver la tendencia?

df <- data.frame(x=1:30000, data=data)
ggplot(df, aes(x=x)) + geom_bar(aes(y=cumsum(data)), width=1, stat="identity")

Este es el gráfico de los valores acumulados de los datos. ¿Se puede saber si procede de una distribución normal o de varias distribuciones normales con diferentes medias y varianzas? Si es posible, ¿qué suposiciones tengo que hacer?

enter image description here

Comparado con esto:

data <- rnorm(30000, 3, 1800)
df <- data.frame(x=1:30000, data=data)
ggplot(df, aes(x=x)) + geom_bar(aes(y=cumsum(data)), width=1, stat="identity")

enter image description here

Actualización:

Supongo que changepoint paquete en R es lo suficientemente bueno

> a <- cpt.meanvar(data=c(rnorm(10000,40,1500),rnorm(9000,-35,1400),rnorm(11000,30,1300)), method="BinSeg")
> summary(a)
Changepoint type      : Change in mean and variance 
Method of analysis    : BinSeg 
Test Statistic  : Normal 
Type of penalty       : SIC with value, 20.61791 
Maximum no. of cpts   : 5 
Changepoint Locations : 10264 19013 

> b <- cpt.meanvar(data=rnorm(30000, 3, 1800), method="BinSeg")
> summary(b)
Changepoint type      : Change in mean and variance 
Method of analysis    : BinSeg 
Test Statistic  : Normal 
Type of penalty       : SIC with value, 20.61791 
Maximum no. of cpts   : 5 
Changepoint Locations :  

PELT daría algunos pequeños intervalos pensó que tenía pena de incluir el número de puntos de cambio.

> a <- cpt.meanvar(penalty="SIC1",data=c(rnorm(10000,40,1500),rnorm(9000,-35,1400),rnorm(11000,30,1300)), method="PELT")
> summary(a)
Changepoint type      : Change in mean and variance 
Method of analysis    : PELT 
Test Statistic  : Normal 
Type of penalty       : SIC1 with value, 30.92686 
Maximum no. of cpts   : Inf 
Changepoint Locations : 10049 18984 18987 
> 
> a <- cpt.meanvar(penalty="SIC1",data=c(rnorm(10000,40,1500),rnorm(9000,-35,1400),rnorm(11000,30,1300)), method="PELT")
> summary(a)
Changepoint type      : Change in mean and variance 
Method of analysis    : PELT 
Test Statistic  : Normal 
Type of penalty       : SIC1 with value, 30.92686 
Maximum no. of cpts   : Inf 
Changepoint Locations : 8810 8814 18962

1voto

Heath Puntos 1042

Por favor, tenga cuidado al utilizar la bandera de segmentación binaria en el paquete de puntos de cambio. Si no está familiarizado con los puntos de cambio, es posible que no sepa que esto da un aproximado solución a la búsqueda de puntos de cambio, lo que significa que puede existir una segmentación más precisa. Yo aconsejaría utilizar method='PELT' ya que esto proporciona un enfoque de búsqueda exacta y, por lo tanto, la segmentación más precisa.

También debe saber que para los cambios en la media es difícil detectar un cambio si (mu_1-mu_2)/sigma < 0,7. Por difícil quiero decir que la prueba de razón de verosimilitud tiene una potencia inferior a 0,8.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X