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,p1 - ppp′p′/ p( 1 - p ) / ( 1 - p′)uma boa maneira de expressar uma probabilidade para esse fim é usarz = log p - log ( 1 - p ) ,p
z= logp - log( 1 - P ) ,
conhecido como
probabilidades de log ou
logit de
. As probabilidades de log ajustadas
z sempre podem ser convertidas novamente em probabilidades invertendo o logit;
p = exp ( z ) / ( 1 + exp ( z ) ) . A última linha do código abaixo mostra como isso é feito.
pzp = exp( z) / ( 1 + exp( z) ) .
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.

R2Rlm
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.
#
# Read the data from a table of (X,Y) = (X, probability) pairs.
#
x <- read.table("F:/temp/data.csv", sep=",", col.names=c("X", "Y"))
#
# Define functions to convert between probabilities `p` and log odds `z`.
# (When some probabilities actually equal 0 or 1, a tiny adjustment--given by a positive
# value of `e`--needs to be applied to avoid infinite log odds.)
#
logit <- function(p, e=0) {x <- (p-1/2)*(1-e) + 1/2; log(x) - log(1-x)}
logistic <- function(z, e=0) {y <- exp(z)/(1 + exp(z)); (y-1/2)/(1-e) + 1/2}
#
# Fit the log odds using least squares.
#
b <- coef(fit <- lm(logit(x$Y) ~ x$X))
#
# Plot the results in two ways.
#
par(mfrow=c(1,2))
plot(x$X, logit(x$Y), cex=0.5, col="Gray",
main="Least Squares Fit", xlab="X", ylab="Log odds")
abline(b, col="Red", lwd=2)
plot(x$X, x$Y, cex=0.5, col="Gray",
main="LS Fit Re-expressed", xlab="X", ylab="Probability")
curve(logistic(b[1] + b[2]*x), col="Red", lwd=2, add=TRUE)