Estoy tratando de ajustar un modelo lineal en algunos datos con solo un predictor (digamos (x, y)). Los datos son tales que para valores pequeños de x, los valores de y se ajustan perfectamente a una línea recta, sin embargo, a medida que aumentan los valores de x, los valores de y se vuelven más volátiles. Aquí hay un ejemplo de tales datos (código R)
y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)
Tengo curiosidad por saber si existe alguna transformación de potencia (¿quizás Box Cox?) Que me permita obtener un mejor ajuste para los datos que simplemente hacer un ajuste lineal como se muestra a continuación.
fit = lm(y ~ x)
r
regression
variance
data-transformation
brócoli
fuente
fuente
Respuestas:
El paquete MASS que viene con su R instalado ya tiene la
boxcox()
función que puede usar: Después de leer los datos, haga:Luego, mire el gráfico que esto produce, que muestra gráficamente un intervalo de confianza del 95% para el parámetro de transformación boxcox. Pero realmente no tiene suficientes datos (n = 10) para hacer esto, el intervalo de confianza resultante va casi de -2 a 2 !, con una estimación de probabilidad máxima de aproximadamente 0 (una transformación logarítmica, como se dijo antes). Si sus datos reales tienen más observaciones, debería intentar esto.
Como han dicho otros, esta transformación realmente está tratando de estabilizar las variaciones. Esto no es realmente obvio desde la teoría, lo que hace es tratar de maximizar una función de probabilidad basada en la distribución normal, que supone una varianza constante. Se podría pensar que maximizar una probabilidad basada en la normalidad trataría de normalizar la distribución de los residuos, pero en la práctica la contribución principal para maximizar la probabilidad proviene de la estabilización de las variaciones. Tal vez esto no sea tan sorprendente, dado que la probabilidad que maximizamos se basa en una familia de distribución normal de varianza constante.
Una vez escribí una demostración basada en slider en XLispStat, que lo demostró claramente.
fuente
Cuando tiene una relación lineal, pero varianzas desiguales, generalmente necesita transformar tanto x como y para obtener una relación lineal con varianzas iguales (o simplemente use la regresión de mínimos cuadrados ponderados en las variables no transformadas).
El procedimiento AVAS puede usarse para sugerir posibles transformaciones.
fuente
glm
marco con una función de enlace de Poisson?Bueno, en R podrías probar esto:
Pero realmente depende de lo que quiere decir con "mejor ajuste a los datos"
fuente
bueno, si todos sus datos para x no son negativos, puede usar la transformación de caja cox ... para estimar el valor ideal del parámetro lambda de la transformación, puede usar matlab ... http://www.mathworks.in/ ayuda / finanzas / boxcox.html
fuente