Error in linear regression with predefined error in y
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'm fitting y=ax+b with polyfit. x has no errors, but every component y_i has an error equal to error_i = C_i*y_i. (So this is correlated right?) How do I determine the error in the slope a?
I've been thinking about not using polyfit and minimazing S = sum(w_i * ( y_i - fit_i)^2) myself. With w_i = 1/error_i^2. But I have no idea how this minimizing can be done.
0 Commenti
Risposta accettata
Tom Lane
il 24 Mag 2012
Take a look at the lscov function and see if it does what you need.
5 Commenti
Tom Lane
il 29 Mag 2012
You wanted an intercept. The equation a*1+b*x defines the intercept as "a." If every row of X has a 1 and an x value, you'll be fitting this equation with an intercept as the first element of the coefficient vector and the slope as the second element. The slope will then be computed for a general line, rather than one constrained to have an intercept equal to zero.
Più risposte (1)
Wayne King
il 23 Mag 2012
polyfit returns a least-squares fit, but not with weights as you suggest. Do you have the Statistics Toolbox? If so consider, robustfit.m or LinearModel.fit, which has options for robust fitting.
Also, perhaps a simple first-order linear model is not adequate for your data?
Vedere anche
Categorie
Scopri di più su Linear and Nonlinear Regression in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!