He aquí una "primera puñalada". Se aplican las exenciones de responsabilidad habituales.
He aquí una simulación:
#make data
#reproducibility
set.seed(230676)
#rows of data
N <- 80 #years of GDP
#Simulated inputs
chairs <- rpois(n=N, lambda = 12)
honey <- rnorm(n=N, mean=1, sd = 0.1)
stock <- cumsum(rnorm(n=N, mean=500, sd=500))+ 10000
#Simulated "TRUE" Model because I don't have actual data
# I pretend not to know the 0.01, 0.1, 1.0 terms
temp <- 0.01*chairs + 0.1*honey + 1.0*stock
epsilon <- rnorm(n=N, mean=mean(temp), sd=sd(temp))/5
#add some noise
GDP <- temp + epsilon
#least squares fit of raw data
est1 <- lm(GDP~chairs+honey+stock)
summary(est1)
Mis resultados para el "resumen" son:
> summary(est1)
Call:
lm(formula = GDP ~ chairs + honey + stock)
Residuals:
Min 1Q Median 3Q Max
-8079 -1920 163 1799 6914
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8574.1175 3353.9718 2.556 0.0126 *
chairs -208.0676 95.3243 -2.183 0.0321 *
honey -62.6255 3264.2498 -0.019 0.9847
stock 1.0186 0.0241 42.267 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2695 on 76 degrees of freedom
Multiple R-squared: 0.9626, Adjusted R-squared: 0.9611
F-statistic: 651.1 on 3 and 76 DF, p-value: < 2.2e-16
Así, la herramienta 'R' da alguna medida de "importancia" a través del "valor t", Pr(>|t|), error estándar residual, R^2 múltiple, estadístico F y valor p.
Son bocados, pero cada uno tiene un significado. Estúdielos para hacerse una idea de lo que un tipo de herramienta "101" desarrollada principalmente por estudiantes de posgrado de estadística considera importante.
El R^2 en torno al 96% sugiere que cuando se utiliza este modelo lineal y se comparan los errores con un modelo compuesto por una sola constante (la media), entonces este modelo lineal tiene un error típico que es unas 25 veces menor que el error típico por utilizar sólo la media.
Además, había algo oculto dentro de la "acción". Esa constante añadida se convirtió en un "intercepto". Intente cambiar la acción para que no se le añadan 10.000, y vea lo que hace a los coeficientes. Si añade "+0" al modelo lineal, cambia la forma en que se maneja esto. Una buena lección aquí es que hay que tener cuidado con la forma en que se especifica el modelo porque pueden salir cosas inesperadas de las herramientas si no se tiene cuidado.
Otra forma de ver los datos es EDA ( Enlace del NIST ). Un enfoque muy básico es un conjunto de gráficos de dispersión uno por cada interacción.
Aquí está el código:
#load the library (you may have to install it)
library(psych)
#make the plot (using data above)
pairs.panels(data.frame(GDP,chairs,honey,stock))
Mi resultado de esto es:
La columna izquierda de los subgráficos muestra la interacción del PIB con los distintos insumos. Se puede ver que hay una relación lineal más fuerte con el "stock" en la esquina inferior izquierda. La línea roja es una línea y el coeficiente de correlación (esquina superior derecha) también es muy alto.
Una cosa que se ve aquí es que cuando el coeficiente de un efecto, como el de las sillas, es pequeño, entonces los ruidos pueden borrarlo. Sabemos que realmente está ahí en algún lugar, pero el "épsilon", el ruido aleatorio del mundo real, lo borra.
Este es realmente un punto de partida muy temprano para examinar la relación entre entradas y salidas.
Así que aquí se utiliza el AIC o el AICc corregido por el tamaño de la muestra para elegir el mejor modelo dados los datos de entrada constantes.
GDP2 <- 0.25*chairs + 0.25*honey + 0.5*stock
RSS1 <- sum((predict(est1) - GDP)^2)
k1 <- 3 #number of parameters
n1 <- N #number of samples
AIC1 <- 2*k1 + n1*log(RSS1/n1)
AICc1 <- AIC1 +(2*k1*(k1+1))/(n1-k1-1)
RSS2 <- sum( (GDP2 - GDP)^2)
k2 <- 1 #number of parameters
n2 <- N #number of samples
AIC2 <- 2*k2 + n2*log(RSS2/n2)
AICc2 <- AIC2 +(2*k2*(k2+1))/(n2-k2-1)
print(c(AIC1,AICc1))
print(c(AIC2,AICc2))
Para esto mi resultado es:
> print(c(AIC1,AICc1))
[1] 1265.751 1266.067
> print(c(AIC2,AICc2))
[1] 1622.278 1622.330
Tanto el AIC1 como el AICC1 son más bajos que el AIC2 y el AICc2 respectivamente, por lo que sugeriría que se prefiere inicialmente el modelo 1 (el ajuste por mínimos cuadrados).
Hay un montón de renuncias, pero aquí hay una referencia de inicio decente para el uso de AIC o AICc en este caso. ( enlace1 , enlace2 ) Hay un gran punto en la página 25 de link1, deberías comprobarlo.