calcular si el coeficiente de regresión es estadísticamente significativo en R

Tengo resultados de un análisis de regresión realizado con otro programa y me gustaría probar con R si son significativos. Sé que ls.diag() calcula errores estándar y pruebas t para resultados de regresión, pero requiere un formato de entrada muy específico (es decir, el resultado de lsfit()), así que no creo que pueda usarlo. ¿Hay alguna función en r que calcule los errores estándar y las pruebas t para el análisis de regresión que me permita simplemente dar los coeficientes relevantes a la función a mano?

preguntado el 28 de julio de 12 a las 16:07

No está claro en su descripción lo que obtuvo del "otro programa", pero estoy bastante seguro de que es mucho menos trabajo volver a los datos originales y hacer todo en R. -

depende Si el OP tiene los coeficientes y sus errores estándar, entonces es fácil (aunque ella menciona ("errores estándar de cálculo"). Sin embargo, necesitamos saber qué ha producido el otro programa. Si son solo los coeficientes, entonces la respuesta no es". -

Estos son los resultados de un análisis de regresión que controla la relación filogenética entre los taxones de la muestra. R tiene una función (pgls() en caper) para hacer esto, pero no funciona con parte de mis datos. Del OP tengo coeficientes y varianza de rasgos, pero no hay varianza de coeficiente. -

1 Respuestas

No estoy tan seguro de que esto sea lo que estás buscando, pero aquí hay una guía

# this is a model obtained from ?lm 
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
summary(lm.D9) this is our target

Supongamos que solo tenemos los coeficientes de regresión, sus errores estándar y el tamaño de la muestra

beta <- coef(lm.D9)
errorBeta <- summary(lm.D9)$coefficients[,2]
n <- length(weight) # the sample size
k <- length(beta) # number of regression parameters

Creo que este es tu caso, si no tienes los errores estándar de los coeficientes entonces tienes que estimarlos, es bastante fácil.

Una vez que tenga los coeficientes de regresión y sus errores estándar, se puede estimar el t-stat:

t_stats <- beta/errorBeta

La regla general establece que si |t_stats| >= 2, entonces el coeficiente es estadísticamente significativo al nivel del 5%. Pero si quieres saber el valor p, entonces usa:

pt(abs(t_stats), n-k, lower.tail=FALSE)*2

Si los valores p > 0.05, los coeficientes asociados no son estadísticamente significativos a ese nivel.

Todo lo que necesitas es conocer los coeficientes, sus errores estándar y el tamaño de la muestra. De lo contrario no lo harás.

Respondido 23 ago 12, 12:08

Gracias Jilber! Eso suena exactamente como lo que necesitaría. Tienes razón, solo tengo los coeficientes, nada más. Sé que los errores estándar de los coeficientes son las raíces cuadradas de la varianza de los coeficientes de regresión. Sin embargo, no tengo la varianza de los coeficientes de regresión. ¿Es esto un problema? Dices que estimarlos es fácil, ¿podrías decirme cómo? - Annemarie

Primero debe estimar la varianza de los residuos, es simplemente la suma de los cuadrados de los residuos dividida por nk, utilizando este resultado y suponiendo que tiene el conjunto de datos, luego solo multiplique la varianza de los residuos por la matriz de diseño {(X'X )⁻¹}. Es extraño que no tenga los errores estándar, si tiene la estimación, debe tener los errores estándar. De todos modos, puede leer cualquier libro de texto de econometría para encontrar las instrucciones adecuadas. - jilber urbina

Gracias Jilber, eso ayuda mucho! - Annemarie

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.