Re: Regression

*To*: mathgroup at smc.vnet.net*Subject*: [mg73891] Re: [mg73835] Regression*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Fri, 2 Mar 2007 06:47:45 -0500 (EST)*References*: <200703011124.GAA28430@smc.vnet.net>

Anurag wrote: > Hi, > I am doing regression using mathematica. The code is > simple. I define a polynomial. Read the data points > from a file. I make sure that there are 27 data points > in the file and all the 27 data points are unique. > > polynomial = Flatten[Table[x^i y^j z^k, {i, 0, 2}, {j, > 0, 2}, {k, 0, 2}]]; > > dataf = ReadList["C:\\Debug\\ForRegression.txt", > Number, RecordLists -> True]; > > datafromfile = Transpose[dataf]; > > RegResult = Regress[dataf, polynomial, {x, y, z}] > > I am getting error > "Regress::mindata: The number of parameters to be > estimated is greater than or > equal to the number of data points. Subsequent > results may be misleading. > > DesignedRegress::rank: Warning: the rank of the design > matrix is 25, less \ > than full rank 27. Only 25 of the 27 basis functions > are needed to provide \ > this fit. Try using a different model or greater > precision." > > > Kindly help me fix the problem > There is no indication that there is a problem. You have 3x3x3 = 27 degrees of freedom in your polynomial. You have 27 data points. This gives rise to a 27x27 matrix. The second message claims this matrix has rank 25, which is certainly possible. Even if this did not happen you are still "over fitting". You have far too many degrees of freedom, or else far to few data points, to get somthing that might be useful for e.g. predicting where other points will lie. Daniel Lichtblau Wolfram Research

**References**:**Regression***From:*Anurag <anurag_uor@yahoo.com>