Eu faço uma regressão linear usando a função R lm:
x = log(errors)
plot(x,y)
lm.result = lm(formula = y ~ x)
abline(lm.result, col="blue") # showing the "fit" in blue
mas não se encaixa bem. Infelizmente, não consigo entender o manual.
Alguém pode me apontar na direção certa para ajustar isso melhor?
Ao ajustar, quero dizer que quero minimizar o erro médio quadrático da raiz (RMSE).
Edit : Postei uma pergunta relacionada (é o mesmo problema) aqui: Posso diminuir ainda mais o RMSE com base nesse recurso?
e os dados brutos aqui:
exceto que nesse link x é chamado de erros na página atual aqui e há menos amostras (1000 x 3000 no gráfico de página atual). Eu queria simplificar as coisas na outra questão.
r
regression
Timothée HENRY
fonte
fonte
Respostas:
Uma das soluções mais simples reconhece que as mudanças entre probabilidades pequenas (como 0,1) ou cujos complementos são pequenos (como 0,9) geralmente são mais significativas e merecem mais peso do que as mudanças nas probabilidades médias (como 0,5).
Por exemplo, uma mudança de 0,1 para 0,2 (a) duplica a probabilidade, enquanto (b) altera a probabilidade complementar apenas em 1/9 (diminuindo de 1-0,1 = 0,9 para 1-0,2 para 0,8), enquanto uma alteração de 0,5 a 0,6 (a) aumenta a probabilidade apenas em 20% enquanto (b) diminui a probabilidade complementar apenas em 20%. Em muitas aplicações, a primeira mudança é, ou pelo menos deveria ser, considerada quase duas vezes maior que a segunda.
Em qualquer situação em que seria igualmente significativo usar uma probabilidade (de algo ocorrer) ou seu complemento (isto é, a probabilidade de algo não ocorrer), devemos respeitar essa simetria.
Estas duas ideias - de respeitar a simetria entre probabilidades e seus complementos 1 - p e de expressar mudanças relativamente ao invés de absolutamente - sugerem que quando se comparam duas probabilidades p e p ' devemos estar a acompanhar tanto os seus rácios de p ' / p e as proporções de seus complementos ( 1 - p ) / ( 1 - p ′ ) . Ao rastrear taxas, é mais simples usar logaritmos, que convertem taxas em diferenças. Ergo,p 1 - p p p′ p′/ p ( 1 - p ) / ( 1 - p′) uma boa maneira de expressar uma probabilidade para esse fim é usarz = log p - log ( 1 - p ) ,p
Esse raciocínio é bastante geral: leva a um bom procedimento inicial padrão para explorar qualquer conjunto de dados envolvendo probabilidades. (Existem métodos melhores disponíveis, como a regressão de Poisson, quando as probabilidades se baseiam na observação de proporções de "sucessos" em relação a números de "tentativas", porque as probabilidades baseadas em mais tentativas foram medidas com mais confiabilidade. Isso não parece ser o Neste caso, onde as probabilidades são baseadas em informações extraídas, pode-se aproximar a abordagem de regressão de Poisson usando mínimos quadrados ponderados no exemplo abaixo para permitir dados mais ou menos confiáveis.)
Vejamos um exemplo.
R
lm
O gráfico de dispersão à direita expressa os dados em termos de probabilidades, como eles foram registrados originalmente. O mesmo ajuste é plotado: agora parece curvado devido à maneira não-linear na qual as probabilidades do log são convertidas em probabilidades.
No sentido do erro quadrático médio da raiz em termos de probabilidades de log, essa curva é a mais adequada.
Aliás, a forma aproximadamente elíptica da nuvem à esquerda e a maneira como ela rastreia a linha de mínimos quadrados sugerem que o modelo de regressão de mínimos quadrados é razoável: os dados podem ser adequadamente descritos por uma relação linear - desde que as probabilidades de log sejam usadas-- e a variação vertical ao redor da linha é aproximadamente do mesmo tamanho, independentemente da localização horizontal (homoscedasticidade). (Existem alguns valores incomumente baixos no meio que podem merecer um exame mais detalhado.) Avalie isso com mais detalhes, seguindo o código abaixo com o comando
plot(fit)
para ver alguns diagnósticos padrão. Isso por si só é um forte motivo para usar as probabilidades de log para analisar esses dados em vez das probabilidades.fonte
plot(density(y));rug(y)
betareg
glm
Para lhe dar uma idéia do que eu quis dizer com regressão logística:
EDIT: depois de ler os comentários:
Dado que "Os valores y são probabilidades de pertencer a uma determinada classe, obtida a partir da média de classificações feitas manualmente por pessoas", recomendo fortemente fazer uma regressão logística nos dados de base. Aqui está um exemplo:
Como você pode ver, Jill tem mais facilidade em obter uma boa taxa de acertos do que Jack, mas isso desaparece à medida que o incentivo aumenta.
Basicamente, você deve aplicar esse tipo de modelo aos seus dados originais. Se sua saída for binária, mantenha o 1/0, se for multinomial, você precisará de uma regressão logística multinomial. Se você acha que a fonte de variação extra não é o coletor de dados, adicione outro fator (ou variável contínua), o que achar que faz sentido para seus dados. Os dados vêm primeiro, segundo e terceiro; somente então o modelo entra em ação.
fonte
glm
produz uma linha não curvada relativamente plana que se parece muito com a linha mostrada na pergunta.O modelo de regressão linear não é adequado para os dados. Pode-se esperar obter algo como o seguinte da regressão:
fonte
Como Y é delimitado por 0 e 1, a regressão ordinária de mínimos quadrados não é adequada. Você pode tentar a regressão beta. Em
R
há obetareg
pacote.Tente algo assim
mais informações
EDIT: Se você quiser uma descrição completa da regressão beta, suas vantagens e desvantagens, consulte Um espremedor de limão melhor: Regressão de máxima probabilidade com variáveis dependentes distribuídas beta por Smithson e Verkuilen
fonte
betareg
realmente implementando? Quais são suas suposições e por que é razoável supor que elas se apliquem a esses dados?Você pode primeiro querer saber exatamente o que um modelo linear faz. Ele tenta modelar um relacionamento da forma
Se um modelo linear é realmente o que você está procurando, tente transformar um pouco suas variáveis para que o OLS possa realmente ser ajustado, ou tente outro modelo completamente. Você pode procurar no PCA ou no CCA ou, se estiver realmente interessado em usar um modelo linear, tente a solução total de mínimos quadrados , que pode dar um melhor "ajuste", pois permite erros nas duas direções.
fonte