Adding log-linear trend to scatterplot
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ida Rosendahl
el 1 de Oct. de 2016
Comentada: dpb
el 1 de Oct. de 2016
Hi. I am trying to add a log-linear trend to a scatterplot with log y axis, but I cant seem to figure out how to do it. It is a very simple plot like this:
>> scatter(data1,data2)
>> set(gca, 'yScale', 'log')
Any suggestions on how to add a log-linear trend? Thanks in advan[c]e.
IR
2 comentarios
Star Strider
el 1 de Oct. de 2016
Please describe what you mean by ‘a log-linear trend’.
Your code sets the y-axis to a logarithmic scale.
Respuesta aceptada
dpb
el 1 de Oct. de 2016
Fit the log(y), compute the fitted result and add...
b=polyfit(data1,log(data2),1); % ln y = mx + b
yhat=exp(polyval(data1)); % compute fitted result
hold all % prepare to add the fittted line
hLyhat=plot(data1,yhat); % add to the plot; save handle to make fixups as wanted
4 comentarios
Star Strider
el 1 de Oct. de 2016
Probably because doing a log transformation transforms the additive errors into multiplicative errors, violating the assumptions of least-squares regression (normally-distributed residuals). It’s mathematically appropriate (and correct) to do a nonlinear regression of an exponential function, that will give you accurate parameter estimates, rather than doing a log transformation and getting the wrong parameter estimates.
dpb
el 1 de Oct. de 2016
Often in my experience if the data are exponential so are the errors. The assumption of normality only affects conclusions drawn from any statistics derived, not the method of fitting itself.
Should probably noted that in answer; the log transform minimizes the residuals in the log space whereas the exponential minimizes the residual of the original data values. Which resulting fit is better is dependent upon the application; I've seen reasons to choose both cases in practice.
Más respuestas (0)
Ver también
Categorías
Más información sobre Linear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!