Bom dia a todos,<br><br>Possuo dados gerados aleatoriamente e gostaria de modelá-los linearmente com diversos graus.<br>A intenção é medir qual grau apresenta a melhor modelagem.<br>Não trabalharei com previsão, mas sim buscarei as raízes reais desses polinômios.<br>
<br>O problema ocorre quando é feita a modelagem para um polinômio de alto grau. Se tentar modelar com grau 20, por exemplo, não necessariamente a resposta terá grau 20, mas poderá apresentar qualquer grau inferior, como 19, por exemplo.<br>
É possível fixar que o maior grau exigido conste na resposta, ao modelar dados linearmente?<br><br>Segue abaixo um exemplo de código.<br><br>---<br>a<-NULL<br>LT<-round(urtriang(10000,2.5,10,12.5))<br>DLT<-matrix(nrow=10000)<br>
<br>for (i in 1:10000){<br>  DLT[i]=sum(urtriang(LT[i],2.5,10,12.5))<br>}<br>H<-hist(DLT[DLT>0],breaks=100,plot=FALSE)<br>Dens<-H$density<br>Int<-H$mids<br><br>for (degreeTest in 2:20){<br>           model<-lm(Dens~poly(Int,degreeTest,raw=TRUE))<br>
           Coeff1<-data.frame(model$coefficients[])<br>           for (m in 1:nrow(Coeff1)) a <- c(a,Coeff1[m,1])    #end for m<br>           a <- c(a,rep(NA,21-m))<br>}<br>b<-array(a,c(21,19),c("Coef","Grau"))<br>
----<br><br>Os coeficientes de cada polinômio estão em <b>b</b>, sendo b[n,] os coeficientes de grau n-1. Exemplo: b[21,] = coeficientes de grau 20.<br>Em <b>b</b> será possível observar que nem todos os graus (colunas) apresentarão coeficiente para seu maior expoente desejado.<br>
<br>Obrigado,<br><br>Henrique Ewbank<br>Centro de Estudos em Logística<br>COPPEAD<br>