6 votos

Energía que ajuste algunos datos experimentales

Tengo para ajuste de datos a una ley de potencia

$$ F=\alpha q^{\beta}$$

ser $q$ $F$ los datos experimentales puntos. Lo que suele hacer es tomar registros de forma que

$$ \ln(F) = \beta \ln(q)+\ln(\alpha)$$

y aplicar mínimos cuadrados con incertidumbres en ambas variables. ¿Cómo puedo enfoque esta en el caso de que algunos de los valores de $q$ (y eventualmente $F$) son negativos?. Si ayuda a $\beta$ debe ser compatible con un valor de $1$, pero quiero un enfoque general.

Editar:

La ley está equipado ley de Coulomb, $F$ es la fuerza entre dos esferas cargadas. Uno de ellos tiene cargo fijo, el otro es una variable que llamamos $q$. La constante de proporcionalidad $\alpha$ está relacionado con $\varepsilon_0$ con una conocida expresión en potencias de $\beta=\frac{R}{d}$ donde $d$ es la distancia entre los centros de las esferas y $R$ es su radio. Así que, quiero determinar, de la experimentación, tanto en $\alpha$ $\beta$ y compararlos con $\varepsilon_0$$1$.

Los valores reales son

$$ \begin{array}{|c|c|} \hline q / \mathrm{nC} & F / \mathrm{mN} \\ \hline -26,8 \pm 0.8 & -1.5 \\ \hline -18.8 \pm 0.5 & -1.1 \\ \hline -9.9 \pm 0.2 & -0.6 \\ \hline 9.9 \pm 0.2 & 0.5 \\ \hline 18.8 \pm 0.5 & 1.0 \\ \hline 26.8 \pm 0.8 & 1.5 \\ \hline 35 \pm 2 & 2.1 \\ \hline \end{array} $$

con la incertidumbre en el último decimal para las fuerzas.

12voto

user17565 Puntos 21

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')

enter image description here


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

  1. 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.

  2. 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.

4voto

Lodle Puntos 5070

¿Estás seguro de que es$q$, tomando el valor negativo y no $\alpha$?

No enteros potencias de números negativos son complejos, por lo que este seguramente no es lo que el experimento se devuelven como valores de $F$.

Si usted ya sabe que $\beta$ sólo puede tomar valores enteros, podría encajar $$ F_1 = \alpha q^1$$ $$ F_2 = \alpha q^2 $$ and $$F_3 = \alpha q^3$$ and show that $\beta = 1$ es el mejor ajuste.

Si de verdad es $\alpha$ tomar valores negativos a lo largo de con $F$, entonces acaba de encajar $$ -F = -\alpha q^\beta$$

Si F sólo a veces toma valores negativos, puede ser cambiado, es decir, $$ F = \alpha q^\beta - \gamma$$ Entonces usted puede caber $$ F + \gamma = \alpha q^\beta$$ donde $\gamma$ es el mínimo de $F$.

En su caso, usted puede decidir si las cargas son del mismo signo o de signo alternativo. Escribir la observación en los que se alternan los signos se atraen, mientras que los mismos signos se repelen y ajuste el valor absoluto de la fuerza sobre el valor absoluto de la carga, la búsqueda de una pendiente de $1/4\pi\epsilon_0$ y una potencia de 1. Por supuesto, para los valores absolutos puede utilizar el$\log$, lo cual (editar) el apperently no es (/editar) muy elegante!

3voto

Klanestro Puntos 75

Tomando los logaritmos de números negativos no es una solución viable.

Cuando postulas $ F=\alpha q^{\beta}$ es implícitamente suponiendo que F es un número real, q es positivo.

Sólo hacer una plaza menos ajuste utilizando los valores absolutos de $F$, $\alpha$ y $q$:

Si $ F=\alpha q^{\beta}$ y $ |F|=|\alpha| |q|^{\beta}$, que $ \ln(|F|) = \beta \ln(|q|)+\ln(|\alpha|)$.

Que sin duda va a funcionar.

A continuación estudiar el signo: es evidente a partir de datos que con carga negativa se obtiene negativo fuerza. Entonces se puede concluir que $\alpha$ es positiva.

1voto

nivag Puntos 1652

Este tipo de problema es razonablemente sencillo para resolver numéricamente el uso de Gauss-Newton o similares de algoritmos y su lenguaje de programación favorito. Matlab dispone incluso de toda una caja de herramientas de ajuste de curvas que lo hace todo muy bien.

Estos no lineal de mínimos cuadrados técnicas debe trabajar para cualquier (diferenciable) de la función, por lo que tiene un buen montón de aplicaciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X