error from a relationship

oahfidsigbosga igoahaighaoeighoaw lagihsgibsohgaiesubg \suigh\seugbeisugi\seubvieu usgziseugbisu\bgzdbgz zgbzdsgubgisugziu fu\iesgi\eliueg\zjxbvkzsdbgi khifsohi\eg

1 个评论

Context: ‘Mary292’ originally asked how to determine the error with respect to a linear regression applied to perturbed data with a model derived from unperturbed data on the same system. The system was initially unperturbed (the first 2000 data pairs, on which the regression was performed), then perturbed.

请先登录,再进行评论。

 采纳的回答

Your model is the linear regression of the first 2000 points. To get the model predictions for the rest of the data, ‘plug in’ the values for your independent variable for the rest of your data in your model. The output of your model are the predictions for those values. To get the error, subtract your predictions from the dependent variable data for those same values of the independent variable.
To illustrate:
x = linspace(0,200); % Create Data
y1 = 0.5*x(1:50) + 0.1*randn(1,50) + 1.2; % Create Data To Fit
y2 = 0.6*x(51:100) + 0.1*randn(1,50) + 1.5; % Create Data To Evaluate Error
b = polyfit(x(1:50), y1, 1); % Parameter Estimates
yfit = polyval(b, x); % Predict Entire Data Set
model_error = yfit - [y1 y2]; % Calculate Error
figure(1)
plot(x, [y1 y2], 'xr')
hold on
plot(x, yfit, '-b')
hold off
grid
legend('Data', 'Model Fit', 'Location','SE')

5 个评论

Am I just calculating the model error for columns 9 and 10 as that's what I was told to calculate the regression model from?
Is my independent variable 'Data point number' and my dependent variable 'Amplitude'?
I have calculated the gradient and intercept for my regression model:
x=X(1:2000,9);
y=X(1:2000,10);
m=(2000*sum(x.*y)-sum(x)*sum(y))/(2000*sum(x.^2)-sum(x).^2); %calculates slope
c=(sum(y)*sum(x.^2)-sum(x)*sum(x.*y))/(2000*sum(x.^2)-sum(x).^2); %calculates intercept
So now do I use the equation y=mx+c? Is this what I'm supposed to plug my independent variable into for the value of x?
Sorry about all the questions I'm just having a really hard time understanding it. I've never used things like 'polyfit' or 'polyval' before, I only really know the basics of matlab.
‘Is my independent variable 'Data point number' and my dependent variable 'Amplitude'?’
On the basis of what else you wrote, it would seem so. Ask your professor if you want be certain.
‘So now do I use the equation y=mx+c? Is this what I'm supposed to plug my independent variable into for the value of x?’
Calculate it exactly as written. Specifically:
x=X(1:2000,9);
yfit = m*x + c;
I called it ‘yfit’ so you would not confuse it with your ‘y’ variable. It is your ‘model fit’.
You are using traditional least squares calculations to estimate ‘m’ and ‘b’, so don’t worry about polyfit and polyval just now. I had no idea how you were calculating them from reading your question.
Continuing, your error then is:
model_error = yfit - y;
That looks correct to me.
The model error can be a straight line (I don’t have your data so I can’t say for certain), but it doesn’t have to be, especially if it is experimental (or simulated experimental) data. Real-world data always has some amount of error associated with it.
Thank you! You've been a great help
My pleasure! And thank you for the compliment!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Descriptive Statistics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by