Cálculo da probabilidade de x1> x2

7

Sou autodidata sobre probabilidade usando R, modelos lineares e cálculos de probabilidade. Atualmente, estou preso em como comparar duas previsões de um modelo. Os dados que estou usando são baixados (grátis) a partir daqui: wmbriggs.com/public/sat.csv

df <- read.csv("sat.csv")              # Load data
lm <- lm(cgpa~hgpa+sat+ltrs,data=df)   # model to predict College GPA
new.df <- data.frame(hgpa=c(4,3),sat=c(1168,1168),ltrs=c(6,6))  # 2 scenario data. Same SAT and LTRS, differing Highschool GPA
predict(lm,new.df)                     # plug our scenario data into the model to predict cgpa based on input
       1        2
2.881214 2.508154

Então esses são os dados de configuração. Vamos nomear a pessoa com o CGPA previsto mais alto (2.88) Rachel e a pessoa com o CGPA previsto mais baixo (2.51) Tobias. Minha pergunta é: como faço para calcular a probabilidade de Rachel ter um CGPA maior que Tobias? Examinei a área sob a curva e não tenho certeza se fiz corretamente ou se estou interpretando corretamente. Cálculo de área:

area <- pnorm(2.881214,1.9805,0.7492264)-pnorm(2.508154,1.9805,0.7492264) # area under the curve between the 2 predicted CGPAs
[1] 0.1259893

Portanto, a diferença entre as duas previsões é de 12,5% aproximadamente. No entanto, se Rachel e Tobias tivessem as mesmas variáveis ​​de entrada para produzir o mesmo CGPA, a probabilidade de um deles ter um CGPA maior é 50/50. Eu adicionaria 0,5 à área (62,5%) para obter a verdadeira probabilidade? Estou longe e preciso fazer outra coisa?

Kunio
fonte

Respostas:

3

A configuração é expressa convencionalmente na forma

y=Xβ+ε

para um vetor de respostas , uma matriz modelo e um vetor de parâmetros , sob as premissas de que os erros aleatórios não estão correlacionados com variâncias iguais e zero significa: isto é,nyn×kXkβε=(εi)σ2

E(ε)=0; Var(ε)=σ2In.

Nesse caso, a estimativa dos mínimos quadrados ordinários é

β^=(XX)Xy.

Seja uma matriz cujas linhas e fornecem os valores dos regressores para Rachel e Thomas, respectivamente. As respostas previstas estão no vetor . As respostas reais são e onde esses novos epsilons são variáveis ​​aleatórias não correlacionadas com média zero, independentes do original e com variações comuns .Z2×kzRzT2Zβ^zRβ+εRzTβ+εTϵσ2

A diferença entre esses valores para Rachel menos Thomas, que chamarei de , é simplesmenteδ

δ=(zRβ+εR)(zTβ+εT)=(1,1)Zβ+εRεT.

Ambos os lados são matrizes - isto é, números - e, evidentemente, são aleatórios em virtude da aparência de no lado direito. (O lado direito é a diferença estimada entre as respostas de Rachel e Thomas, mais o desvio entre as respostas reais e previstas de Rachel, menos o desvio entre as respostas reais e previstas de Thomas.) Podemos calcular seu termo de expectativa por termo:1×1yεRεT

E(δ)=E((1,1)Zβ+εRεT)=(1,1)Zβ+00=z1βz2β.

Isso é exatamente o que se poderia supor: a diferença esperada é a diferença nos valores previstos. Pode ser estimado substituindo os parâmetros por suas estimativas. Para indicar isso, vamos colocar um chapéu sobre o " ":E

(1)E^(δ)=(1,1)Zβ^=z1β^z2β^.

Esse é o aparece na pergunta.2.882.51

Podemos continuar a análise da diferença entre Rachel e Thomas, expressando os dois componentes da incerteza sobre essa distribuição: um é porque e são estimados a partir de dados aleatórios e o outro é a aparência desses desvios aleatórios e . βσεRεT

(2)Var(RachelThomas)=Var((1,1)Zβ^+εRεT)=(1,1)ZVar(β^)Z(1,1)+Var(εR)+Var(εT)=(1,1)ZVar(β^)Z(1,1)+2σ^2.

As variações dos epsilons são estimadas por . Não conhecemos porque depende de . É rotineiro estimar essa variação substituindo por sua estimativa de mínimos quadrados , produzindo uma quantidade às vezes escrita .σ^2Var(β^)σσ2σ^2Var^(β^)

Estas estimativas podem ser convertidos em probabilidades apenas por fazer suposições mais específicos sobre as distribuições condicionais de sobre . yX De longe, o mais simples é assumir que é Normal multivariada, pois então (sendo uma transformação linear do vetor ) em si é Normal e, portanto, sua média e variância determinam completamente sua distribuição. Sua distribuição estimada é obtida colocando os chapéus em e .yδyEVar

Finalmente, reunimos todas as informações necessárias para uma solução. O procedimento OLS estima que a distribuição da resposta de Rachel menos a resposta de Thomas seja Normal com uma média igual à diferença nos valores previstos e com uma variação estimada por , que envolve a variação de erro estimada e a matriz de variância-covariância das estimativas do coeficiente, .(1)(2)σ^2Var(β^)

Este Rcódigo realiza diretamente os cálculos exibidos nas fórmulas e :(1)(2)

fit <- lm(cgpa ~ hgpa + sat + ltrs, data=df)         # model to predict College GPA
Z <- as.matrix(data.frame(intercept=1, hgpa=c(4,3), sat=c(1168,1168),ltrs=c(6,6)))

cont <- matrix(c(1,-1), 1, 2)             # Rachel - Thomas "contrast".
beta.hat <- coef(fit)                     # Estimated coefficients for prediction
delta.hat <- cont %*% Z %*% beta.hat      # Predicted mean difference 
sigma.hat <- sigma(fit)                   # Estimated error SD
var.delta.hat <- cont %*% Z %*% vcov(fit) %*% t(Z) %*% t(cont) + 2 * sigma.hat^2
pnorm(0, -delta.hat, sqrt(var.delta.hat)) # Chance Rachel > Thomas

A saída para esses dados é : a OLS estima que há uma probabilidade de que o CGPA de Rachel exceda o de Thomas. (Neste caso, porque Rachel e Thomas são muito parecidos, o modelo se encaixa muito bem e a quantidade de dados é tão grande que é minúsculo em comparação para e, portanto, pode ser negligenciado. Isso nem sempre será o caso.)0.6767%Var^(δ^)2σ^2

Este é o mecanismo subjacente ao cálculo dos intervalos de previsão : podemos calcular intervalos de previsão para a diferença entre o CGPA de Rachel e Thomas usando essa distribuição.

whuber
fonte
@ Taylor, o modelo afirma que qualquer resposta individual está no formato . Os chapéus aparecem apenas ao trabalhar com estimativas de modelo . Vejo que escrevi de maneira confusa - é um vestígio de fazer uma transição entre duas formulações do modelo. Deixe-me corrigi-lo e veremos se parece consistente. zβ+ϵ
whuber
@whuber: question: why '-delta.hat' (negativo)? E podemos substituir o pnorm pelo próprio cdf estimado via ecdf {stats}? Alguma implicação para a estimativa lm? (lm não assume normalidade).
Maximilian
11
O @Max (1) pnormcalcula a chance de uma variável ser menor que seu argumento, enquanto queremos a chance de ser maior . Tecnicamente, então, eu deveria ter invocado pnorm(0, delta.hat, sqrt(var.delta.hat), lower.tail=FALSE), mas explorei sua simetria para encurtar a afirmação. (2) Não está claro quais valores você propõe para seu ecdf. (3) Para distribuições de resposta não normais, você provavelmente precisaria de um modelo linear generalizado ou de alguma outra generalização.
whuber
0

Seu problema pode parecer fácil, mas é surpreendentemente complicado.

A fim de avaliar a probabilidade de que CPGA de Rachel (chamemos-lhe ) é maior do que Tobias' ( ), sabendo que os seus , e -scores são, é o mesmo que escrever , onde são suas pontuações. Como podemos escrever , também podemos dizery1y2hgpasatltrsP(y2y1>0|X)Xyi=yi^+ϵi

P(y2y1>0|X)=P(ϵ2ϵ1N(0,2σy2)+y2^y1^=2.88122.5082>0|X)=P(ϵ2ϵ1<0,373)

É aqui que você fica preso, porque não sabemos ao . O melhor que podemos fazer aqui é estimar calculando a variação de seus resíduos de regressão. Se sua amostra for grande o suficiente ( ), isso convergirá para .σy2σy2

Se você deseja ignorar o erro de estimativa em , pode implementá-lo em R:σy2^

sigma_hat <- summary(lm)$sigma
e2_min_e1 <- diff(predict(lm, new.df)) * -1

pnorm(e2_min_e1, 0, 2*sigma_hat)
# 0.6255
KenHBS
fonte
não é verdade que . yi=yi^+ϵi
Taylor
Por que não? (na verdade apenas a projeção linear, mas sob as premissas normais de regressão linear, esta também é a condição exp) e sempre é válido que e epsilon tem média zeroyi^E(yi|Xi)yi=E(yi|Xi)+ϵi
KenHBS
y^i=E(yi|xi)^
Taylor
@KenS. Obrigado Ken. Eu sei que posso obter o erro padrão no 'predict ()' simplesmente adicionando 'se.fit = TRUE'. Eu tentei com o seu código e ele me deu uma mensagem de erro: 'Erro em r [i1] - r [-length (r) :-( length (r) - lag + 1L)]: argumento não numérico para binário operador '
Kunio 15/08
Uma das suposições padrão do OLS é que a forma funcional linear está especificada corretamente. Se essa suposição , então . Não tenho certeza se estou entendendo o seu ponto. Poderia ser apenas uma diferença notacional? yi=E(yi|Xi)+ϵi
KenHBS