--- title: "Sesgo/Varianza Regresión Lineal Simple" author: "Mathias Bourel" date: "4/8/2021" output: pdf_document: default html_document: default --- #Simulacion de datos Simulamos 50 datos con $f(x)=2+3x$ es decir $y_i=2+3x_i+\epsilon_i$ donde $\epsilon_i \sim N(0,2)$ para todo $i=1,\dots,50$. ```{r} X=runif(50,0,5) Y=2+3*X+rnorm(50,0,2) modelo=lm(Y~X) modelo x11() plot(X,Y,main="Una primera simulacion") abline(b=modelo$coefficients[2],a=modelo$coefficients[1],col='red',lwd=1) abline(b=3,a=2,col='green',lty=1,lwd=2) Y1=2+3*X+rnorm(50,0,10) points(X,Y1) modelo2=lm(Y1~X) modelo2 abline(b=modelo2$coefficients[2],a=modelo2$coefficients[1],col='red',lwd=1) Y2=2+3*X+rnorm(50,0,10) points(X,Y2) modelo3=lm(Y2~X) modelo3 abline(b=modelo3$coefficients[2],a=modelo3$coefficients[1],col='red',lwd=1) ``` La clase de función elegida es la de los polinomios de grado 1 y con modelo, modelo 2 y modelo 3 veo cuanto varía el modelo (varianza) al cambiar la muestra. El sesgo de la estimación es cero porque la clase de funciones es la misma que la funcion teórica y los estimadores MC son insesgados. Acá va una función que hace lo mismo que en las transparencias de clases: ```{r} simulacion=function(beta0=2,beta1=3,n=50,M=15){ X=runif(n,0,5) Y=beta0+beta1*X+rnorm(n,0,2) plot(X,Y) abline(b=3,a=2,col='green',lty=1,lwd=4) vecbeta0=NULL vecbeta1=NULL for(i in 1:M){ Y=beta0+beta1*X+rnorm(n,0,2) points(X,Y) modelo=lm(Y~X) abline(b=modelo$coefficients[2],a=modelo$coefficients[1],col='red',lwd=1) vecbeta0[i]=modelo$coefficients[1] vecbeta1[i]=modelo$coefficients[2] } list(vecbeta0=vecbeta0,vecbeta1=vecbeta1) } ``` Ejecuto la función. Los promedios me dan una estimación de los (verdaderos) parametros, beta0 aprox 2 y beta1 aprox 3, verificando que la estimación de la regresión lineal es insesgada. ```{r} a=simulacion(beta0=2,beta1=3,n=50,M=500) mean(a$vecbeta0) mean(a$vecbeta1) ``` \`\`\`