Ser un matemático, siento que debo señalar un error común aquí. No se sienta mal, un montón de matemáticos (incluido yo mismo) ha caído en esta trampa. Básicamente, si desea ajustar los datos a la alimentación de la ley el uso de métodos de mínimos cuadrados, entonces usted debe NO se ajustan a una línea recta en el registro de espacio de registro. Usted debe caber una ley de potencia el uso de no-lineal de mínimos cuadrados para los datos originales en el espacio lineal, sin ningún tipo de transformación.
La intuición básica detrás de esto es este. Método de mínimos cuadrados para suponer que la distribución de error es normal, lo que significa que hay una verdad (desconocido) el valor que usted está tratando de medir y las medidas que se están tomando están por encima/por debajo del valor real de permanecer cerca de el verdadero valor, de modo que la distribución es gaussiana. El problema es que el registro no es una función lineal de modo que cuando usted tomar registro de registro de los datos, los números más grandes que uno se juntan y los números menores que uno se separe y a saber, el error de la distribución no es normal en el registro de espacio de registro....lo que significa que menos plazas no se garantiza la convergencia a los valores verdaderos. De hecho, se ha demostrado que el ajuste en el tipo log-log espacio constantemente le da sesgado los resultados.
El ajuste de una línea recta en log-log estaba de moda en el día antes de GHz procesadores. Ahora lo que se utiliza para hacer el cálculo, más probable es que tiene la capacidad de hacer no-lineal de mínimos cuadrados en poder de la ley de ajuste para los datos originales, de modo que es el que usted debe hacer. Desde la ley de potencia es tan frecuente en la ciencia, hay muchos paquetes y técnicas para hacerlo de manera eficiente, correcta y rápida.
Me refiero a que estos resultados publicados y una diatriba aquí. Esta es mi pregunta que desencadenó este debate.
Addendum:
Así que por OP petición de aquí es un ejemplo real. La función real es de $y=f(x)=2x^{-4}=ax^b$. Me llevo un montón de puntos de$x\in[1,2]$$x=10$. Tenga en cuenta que $f(10)=0.0002$ y puedo cambiar esto $y$-valor de a$y=0.00002$, manteniendo todos los demás de la misma y, a continuación, montaje utilizando mínimos cuadrados para la estimación de $a$$b$.
El uso de no-lineal de mínimos cuadrados para la forma funcional $y=ax^b$ nos da
\begin{eqnarray}
a&=&2\\
b&=&-4\\
r^2&=&0.9999.
\end{eqnarray}
Utilizando lineal de mínimos cuadrados para la forma funcional $y=mx+n$ en log-log de espacio nos da
\begin{eqnarray}
a &=& exp(n) = 2.46\\
b &=& m = -4.57\\
r^2 &=& 0.9831.
\end{eqnarray}
El $95\%$ límites para$b$$(-4.689, -4.451)$, que no incluyen el verdadero valor de $b$. Básicamente registro empuja números más grande que uno juntos y se extiende aparte números menores que uno. Así que en el espacio lineal de cambio de $y=0.0001$ $y=0.00001$es intrascendente. El algoritmo no le importa mucho acerca de él. El cambio en el valor residual es muy pequeño. En log-log espacio de la diferencia es enorme (todo un orden de magnitud) y el punto se ha convertido en un "outlier" de la agradable tendencia lineal. El cambio en el residual es ahora más grande. Dado que el algoritmo está tratando de minimizar la suma de los cuadrados, el algoritmo no puede ignorar la desviación y debe tratar de acomodar el outlier punto por lo que la línea está torcida arruinando la pendiente y el intercepto.
Aquí está el código de MATLAB y los gráficos. Usted puede fácilmente reproducir este y jugar con él a sí mismo. El azul son los puntos de datos. El negro es el poder caber en el espacio lineal. El rojo es la equipada con línea de log-log de mínimos cuadrados ajustada. El panel superior muestra los tres en el espacio lineal y el panel inferior muestra los tres en log-log espacio para poner de relieve las diferencias. El exponente se fuera por más de la mitad entre los dos métodos. Pero, ¿cómo ver cuán bueno es el segundo ajuste ($r^2=0.98$) y el intervalo de confianza está en ninguna parte cerca del verdadero valor de $b$. El algoritmo es muy seguro de que $b\neq-4$.
El mismo efecto se funciona a la inversa con grandes cambios en grandes números. Por ejemplo, el cambio de un punto de datos de 10000 a 20000 en espacio lineal provocará un gran cambio, pero en el log-log espacio que el cambio no es un gran problema en absoluto por lo que el algoritmo volverá a dar resultados engañosos.
close all
clc
clear all
x = [1:0.01:2 10];
y = 2*x.^(-4);
y(end)
y(end) = 0.00002;
% The power law fit on the original data
ft = fittype( 'power1' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
[fitresult1, gof1] = fit(x',y', ft, opts )
% The linear fit in log-log space
logx = log(x);
logy = log(y);
[fitresult2, gof2] = fit(logx',logy',fittype( 'poly1' ))
% The plots
x1 = min(x):0.01:max(x);
y1 = fitresult1.a*x1.^fitresult1.b;
y2 = exp(fitresult2.p1*log(x1)+fitresult2.p2);
figure
subplot(2,1,1)
plot(x,y,'o',x1,y1,'k',x1,y2,'r')
xlim([min(x),max(x)+1])
subplot(2,1,2)
loglog(x,y,'o',x1,y1,'k',x1,y2,'r')
xlim([min(x),max(x)+1])
legend('Data','Power Fit','Linear Fit')
Segunda Adenda:
¿No lineal de mínimos cuadrados gestionar un conjunto de puntos experimentales/errores numéricos?
Estoy asumiendo por gestionar te refieres a si NLLSF nos dará una estimación insesgada de los parámetros. La respuesta es que, menos cuadrados montaje funciona si y sólo si los errores son de gauss. Así que si los errores son errores aleatorios (con el valor esperado y la media aritmética es cero), entonces mínimos cuadrados da una estimación insesgada de los verdaderos valores de los parámetros. Si usted tiene cualquier tipo de error sistemático, a continuación, mínimos cuadrados no está garantizado para trabajar. A menudo suponemos que/quiere-a-pensar que sólo tenemos un error al azar a menos que haya pruebas de lo contrario.
Y también darle las incertidumbres tanto en a como en b base en esos parámetros?
De nuevo asumiendo los errores que suele ser normalmente distrubuted, hay métodos estándar para estimar el error de desviación. La media ya se supone que es cero. Estimamos que el error estándar para cada parámetro y, a continuación, la utilizamos para calcular los intervalos de confianza. Así que sí, si SÓLO tengo los datos experimentales y no tengo idea de cuáles son los verdaderos valores de los parámetros, entonces todavía puedo calcular los intervalos de confianza.
Ahora una introducción bibliográfica de referencia distinto de wikipedia sería muy útil.
No sé de un buen stats/regresión libro que puedo recomendar. Yo diría que acaba de elegir su favorito introducción a las estadísticas de libro. Y hay aquellos papeles por Clauset que me enlaza a ambos disponibles en Arxiv gratis.
TL;DR
Físico piensa que todo es una ley de potencia. No, no. Incluso si los datos se parece a su poder de la ley, probablemente no lo es.
Si usted legítimamente tienen un poder de la ley, no se ajustan a una línea recta en log-log espacio. Sólo uso NLLSF para adaptarse a una ley de potencia en los datos originales. Si queda alguna duda, que puedo hacer fácilmente un ejemplo numérico y mostrar de manera concreta cómo diferentes las dos respuestas puede ser.