Här studerar vi en enkel modell med två variabler \((X,Y)\) där \(P(X)=\mathrm U[0,6]\) och
\[P(Y|X)=\mathrm N(\mu=6+1.3\cdot \sin(\pi x/2),\sigma=0.4+(3-x)^2).\]
Först samplar vi \(n=500\) observationer
n <- 500
# Betingat väntevärde och betingad varians (standardavvikelse)
mf <- function(x) 6+1.3*sin(pi*x/2)
sdf <- function(x) 0.4+(3-x)^2
obs <- tibble(
X=runif(n,min=0,max=6),
Y=rnorm(n,mean=mf(X),sd=sdf(X))
)
# Lägg till betingade väntevärdet och residualen
obsext <- obs %>% mutate(
`E(Y|X)`=mf(X),
`Y-E(Y|X)`=Y-mf(X)
)
obsext %>%
pivot_longer(cols=c("Y","E(Y|X)","Y-E(Y|X)")) %>%
ggplot(aes(x=X,y=value,color=name)) +
geom_point(size=1) +
scale_colour_manual(values=c("Y" = "red","E(Y|X)" = "blue","Y-E(Y|X)" ="black")) +
ggtitle("En fördelning av (X,Y) med sinusfunktion som betingat väntevärde av Y") +
labs(y="Y",color="")
Beräkna variansen av \(Y\) med
hjälp av lagen om total varians. Ni kan använda numerisk integration med
kommandot integrate om ni vill. Kontrollera genom att
jämföra med den skattade varians på de simulerade värdena.
Lagen om total varians säger att:
Var(Y ) = E (Var(Y |X)) + Var (E(Y |X))
E(Var(Y|X))=Var(Y-E(Y|X)) - Vilket är första termen för att beräknar Var(Y)
Vi ser variansen, var(Y) i tabellen nedan.
zx <- obs %>% mutate(
`E(Y|X)`=mf(X),
`Y-E(Y|X)`=Y-mf(X),
`var(Y)` = var(`Y-E(Y|X)`)+var(`E(Y|X)`)
)
zx
## # A tibble: 500 × 5
## X Y `E(Y|X)` `Y-E(Y|X)` `var(Y)`
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 5.94 -5.98 6.12 -12.1 20.2
## 2 0.233 3.67 6.47 -2.80 20.2
## 3 4.66 5.21 7.12 -1.91 20.2
## 4 0.0862 9.10 6.18 2.92 20.2
## 5 5.42 9.96 7.02 2.93 20.2
## 6 1.51 5.07 6.90 -1.83 20.2
## 7 4.70 9.82 7.16 2.66 20.2
## 8 2.96 4.42 4.70 -0.284 20.2
## 9 2.19 5.34 5.62 -0.282 20.2
## 10 4.32 5.89 6.62 -0.734 20.2
## # … with 490 more rows
Genomför en “density-plot” som ger de “empiriska densiteterna”
för variablerna \(Y\), \(E(Y|X)\) och \(Y-E(Y|X)\). Använd ggplot med
geom_density().
obsext.m <- melt(obsext)
## No id variables; using all as measure variables
ggplot(obsext.m, aes(value, fill=variable)) +
geom_density(alpha=0.4)
Visa med hjälp av tre exempel att variabeln \(R=Y-E(Y|X)\) är okorrelerad med
variabler av typen \(W=h(X)\). Inför
tre nya variabler som funktioner av \(X\), exempelvis \(X\) , \(X^2\) och \(\log(X+1)\). Använd simulerade data och
skattning med hjälp av cov(x,y).
Okorrelerade om Cov(R,W)=blir nära noll. Och vi ser att vår kovarians
blir väldigt liten så de har i stort sett ingen korrelation.
Diskutera hur tolkas detta i samband med “minsta
kvadratmetoden”?
n <- 20
# Betingat väntevärde och betingad varians (standardavvikelse)
zd <- obs %>% mutate(
`E(Y|X)`=mf(X),
`R`=Y-mf(X),
`var(Y)` = var(`R`)+var(`E(Y|X)`)
)
ds <- zd %>%
mutate(
w1=X,
w2=X^2,
w3=X^3
)%>%
summarise(cov(`R`,w1),cov(`R`,w2),cov(`R`,w3),)
ds
## # A tibble: 1 × 3
## `cov(R, w1)` `cov(R, w2)` `cov(R, w3)`
## <dbl> <dbl> <dbl>
## 1 -1.30 -7.91 -45.6