I am looking for a matlab function that is working similar to polyfit, but where I can use two different input function but instead of having just one linear term, I need two. At the moment the regression looks as follows:
and the code to compute R^2 is the following:
x= changePriceWithoutNaN; y=changeFWithoutNaN; p = polyfit(x,y,1); f = polyval(p,x); plot(x,y,'o',x,f,'-')
yfit = polyval(p,x); yfit = p(1) * x + p(2); yresid = y - yfit; SSresid = sum(yresid.^2); SStotal = (length(y)-1) * var(y); rsq_full = 1 - SSresid/SStotal
Instead of having just one linear term, the term I am looking for is the following:
Is there anybody how knows a function that is solving a least squared optimazation in the way to coe above does? Importat is that I do not look for a quadratic solution and therefore from what I can see polyfit(x,y,2) is not an option
No products are associated with this question.
Locks, it seems like you are interested in multiple linear regression. If you have the stats toolbox you can use the REGRESS function to do that. If you don't then you can use a simple '\' as follows:
x = dataT(:,2); %is the implied volatility y = dataT(:,10); z = dataT(:,15); p = [x z ones(length(dataT))]\y
p will have the 3 coeff you desire. We are essentially solving a linear system in a least square sense.
There are several multi-dimensional polynomial fitters on the FEX, e.g.,
Play games and win prizes!Learn more