E a utilização do R2 ajustado, seria uma alternativa ou ideal seria eliminar o modelo sem intercepto e trabalhar apenas com o modelo linear geral?<br>Obrigado<br><br><div class="gmail_quote">Em 14 de novembro de 2012 10:29, Robert Iquiapaza <span dir="ltr"><<a href="mailto:rbali@ufmg.br" target="_blank">rbali@ufmg.br</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Concordo, aparentemente o revisor está usando a fórmula "correta" no contexto de modelos lineares, "mais variáveis explicativas maior R2". Só que no caso do modelo linear sem intercepto o R2 não tem uma definição clara, se usar a formula usual R2= 1 - SQE/SQT pode até ser negativo. <div>

A fórmula utilizada em vários softwares incluído o R, para modelo linear sem intercepto, não é interpretável, faça o teste de hipótese e se tiver mesmo que apresentar o modelo sem intercepto eu não reportaria o R2.<div><br>

</div><div>######## <br><div><div>intercepto=5  #depois pode mudar esse valor para verificar a influência</div><div>x<-runif(30)</div><div>y<-intercepto-rnorm(30,2*x)</div><div><br></div><div>summary(lm(y~x)) #<a href="http://mod.com.int" target="_blank">mod.com.int</a></div>

<div>summary(lm(y~0+x)) #<a href="http://mod.sem.int" target="_blank">mod.sem.int</a></div><div><br></div><div># A formula do usada no R e alguns outros softwares é<br></div><div># ilustrada usando a soma dos quadrados da regressão (SQR)</div>

<div># e dos erros do modelo (SQE)  R2= SQR/(SQR+SQE)</div><div># usando uma função para as somas dos quadrados</div><div>sq=function(z,m="mz")sum((z-ifelse(m=="mz",mean(z),m))^2)</div><div>#R2 <a href="http://mod.com.int" target="_blank">mod.com.int</a></div>

<div>sq(fitted(lm(y~x)),mean(y))/(sq(fitted(lm(y~x)),mean(y))+sq(y-fitted(lm(y~x))))</div><div>#R2 <a href="http://mod.sem.int" target="_blank">mod.sem.int</a></div><div>sq(fitted(lm(y~0+x)),0)/(sq(fitted(lm(y~0+x)),0)+sq(y-fitted(lm(y~0+x)),0))</div>

<div>sq(fitted(lm(y~0+x)),mean(y))/(sq(fitted(lm(y~0+x)),mean(y))+sq(y-fitted(lm(y~0+x)))) #sem forçar a passar pelo zero</div><div><br></div><div># Só que essa fórmula é válida somente para o modelo linear com intercepto</div>

<div># onde SQT = SQR + SQE</div><div># Se usar a fórmula tradicional de R2 = 1 - SQE/SQT no modelo linear sem intercepto,</div><div># normalmente, dependendo do verdadeiro valor do intercepto vai dar um R2 menor ou negativo </div>

<div>#R2 <a href="http://mod.com.int" target="_blank">mod.com.int</a></div><div>1-sq(y-fitted(lm(y~x)))/sq(y)</div><div>#R2 <a href="http://mod.sem.int" target="_blank">mod.sem.int</a></div><div>1-sq(y-fitted(lm(y~0+x)))/sq(y)</div>
<div><br></div><div># o qual não tem sentido, assim como tem pouco sentido rodar um modelo sem intercepto, </div>
<div># quando o verdadeiro valor desse parâmetro é muito diferente de zero, como </div><div># pode ver na figura</div><div>plot(y~x)</div><div>abline(lm(y~x),col=3) #<a href="http://mod.com.int" target="_blank">mod.com.int</a></div>
<div>
abline(lm(y~0+x),col=4)#<a href="http://mod.sem.int" target="_blank">mod.sem.int</a> </div><div>legend("topright", legend = c("<a href="http://mod.com.int" target="_blank">mod.com.int</a>","<a href="http://mod.sem.int" target="_blank">mod.sem.int</a>"), col=3:4, pch=1,</div>

<div>         lty=1, merge=TRUE)#, trace=TRUE)</div><div><br></div><div>#rode novamente com intercepto=0, agora a figura pode ter mais sentido,</div><div># mas eu não falaria que o R2 aumentou, o problema está na definição de R2</div>

</div></div><div><br></div><div>##### fim</div><div><br></div><div>Sds,</div><div><br></div><div>Robert Iquiapaza</div><div>CEPEAD/FACE/UFMG</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 13 de novembro de 2012 10:11, marcelo claro de souza <span dir="ltr"><<a href="mailto:marcelo.claro.souza@gmail.com" target="_blank">marcelo.claro.souza@gmail.com</a>></span> escreveu:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Bom dia a todos.<br>Rodei duas correlações lineares com e sem intercepto, utilizando o mesmo conjunto de dados, para a determinação de uma equação para determinação da área foliar de uma espécie arbórea.<br>

regressão com intercepto lm(y~x)<br>
regressão sem intercepto lm(y~0+x) ou lm(y~x-1)<br><br>O R2 da equação sem intercepto foi maior que o R2 da regressão com intercepto, e o assessor de uma revista questionou que isso seria matematicamente improvável e solicitou que eu refizesse as análises. Refiz e obtive os mesmos resultados.<br>


É possível essa variação nos valores de R2 ou estou fazendo algo errado?<br>Muito obrigado pela ajuda.<br>Abraço<span><font color="#888888"><br><br>Marcelo<br>
</font></span><br></div></div><div class="im">_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></div></blockquote></div><br></div>
</blockquote></div><br>