# using a function that is similar to polyfit but with two linear terms

5 Ansichten (letzte 30 Tage)
Locks am 29 Apr. 2013
Hi,
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:
y=b0+b1*x+error
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:
y=b0+b1*x+b2*z+error
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
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Shashank Prasanna am 29 Apr. 2013
What is z?
Are you doing a mixed effects fitting?

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Shashank Prasanna am 1 Mai 2013
Bearbeitet: Shashank Prasanna am 1 Mai 2013
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.
##### 11 Kommentare9 ältere Kommentare anzeigen9 ältere Kommentare ausblenden
Shashank Prasanna am 3 Mai 2013
It is indeed in the documentation, please go through it closely. This will help you find things later yourself :
Hint:
tstat = mdl.Coefficients.tStat
Once again, please go through the documentation, fundamentally, all properties can be accessed with the '.' dot notation from your model.
Locks am 3 Mai 2013
and I was not able to get the values saved in there, but no it's clear, thanks

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (1)

Matt J am 29 Apr. 2013
##### 4 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Locks am 1 Mai 2013
I am not fully sure if I get the description there right but there problem that I have is that there are two linear components which I need to cover. in addition I am not sure how excatly I need to do that. can I just download one of them in instead this code:
x= dataT(:,2);
%is the implied volatility
y=dataT(:,10);
p = polyfit(x,y,2)
using something like that:
x= dataT(:,2);
%is the implied volatility
y=dataT(:,10);
z=dataT(:,15);
p = polyfitn(x,y,z,3)
is that way the the z not quadratic? As said, the regression must stay linear, I do not want any quadratic components
Matt J am 2 Mai 2013
As said, the regression must stay linear, I do not want any quadratic components
And as I keep telling you, if you want to have only linear terms, then tell that to polyfitn:
p = polyfitn([x,y],z,1);

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by