1 votos

Validez del ajuste de la ley de potencias (y elección del ajuste analítico)

Contexto

Estoy realizando simulaciones de dinámica molecular de iones atrapados en un campo de radiofrecuencia de amplitud $U_{RF}$ + DC (ver detalles https://arxiv.org/abs/2102.04098 ). Estoy estudiando el calentamiento por radiofrecuencia de iones sin refrigeración. Los inicializo a baja temperatura, estado cristalino, y ejecuto la simulación hasta que la temperatura sube a cientos de K. Se produce la transición de fase al estado fluido. Estoy interesado en la duración del estado cristalino antes de que la temperatura suba repentinamente a un nivel alto. La duración desde el inicio de la simulación hasta el desbordamiento de la temperatura es $t_0$ y estoy estudiando el valor de $t_0$ en función de la amplitud de atrapamiento por radiofrecuencia $U_{RF}$ . Ejemplo de temperatura en función del tiempo para una condición dada $U_{RF}$ . El momento crítico es cuando la temperatura aumenta repentinamente. Linear and log temperature as a function of time for one condition

Varío $U_{RF}$ y medir $t_0$ . No tengo ninguna expresión analítica con la que comparar, pero me gustaría tener al menos una expresión empírica de $t_0$ en función de $U_{RF}$ recuperado con un ajuste. Aquí les presento los datos, mi pregunta y mi intento utilizando la ley de potencia. ¿Podría decirme si le parece razonable? ¿Tienes alguna proposición o ves alguna discrepancia en mi trabajo? Finalmente, ¿es una buena idea intentar un ajuste sin ninguna expresión física analítica?

<span class=$t_0$ en función de $U_{RF}$ " />

Pregunta

Me gustaría saberlo:

  1. ¿existe algún principio para elegir una función realista para el ajuste? Es decir, ¿es posible discutir la elección de antemano o se trata simplemente de un proceso de prueba y error? (probar una expresión, ver si da un ajuste razonablemente bueno...).

  2. Por último, ¿debería trabajar las matemáticas y la física y obtener una expresión analítica válida para mi problema y luego ajustar?

  3. ¿qué opina de la ley de la potencia? (ver más abajo)

Ley de potencia -- Método

Descripción general

He intentado ajustar los datos anteriores ( $t_0$ en función de $U_{RF}$ ) con una ley de potencia. La ley de potencia se expresa como $f(x)=ax^{-k}$ o en mi caso $f(U_{RF})=aU_{RF}^{-k}$ . Dada la forma de la curva, esto me parece natural. El gráfico logarítmico de los datos anteriores es el siguiente <span class=$t_0$ en función de $U_{RF}$ en logaritmo horizontal y vertical". />

También probé un segundo método utilizando logaritmos para determinar los coeficientes. Ambos métodos dan resultados diferentes, pero el primero parece razonablemente cercano a los datos.

Programa de registro 'casero' (ejemplo en Python)

Aquí detallo cómo utilicé los logaritmos:

Dado $f(U_{RF})=aU_{RF}^{-k}$ Quiero el coeficiente $k$ et $a$ .

  1. Encajo $\log(t_0) = A\log(U_{RF})+B$ con una expresión lineal.
  2. Calculo $a=10^A$ et $k=A$ .
  3. Ajusté mis datos con la ley de potencia con esos coeficientes.

Con python es como sigue :

def my_power_law(x,a,b):
    return a*(x**-b)

# linear fit of log data
popt, pcov = curve_fit(my_lin,log(xx),log(yy))
k_fromlog = popt[0]
B_fromlog = popt[1]
ax.plot(xx_fit,my_power_law(array(xx_fit),10**B_fromlog,k_fromlog),label='From log')

# Direct power law fit
popt, pcov = curve_fit(my_power_law,xx,yy,p0=[1e23,12.5],maxfev=2500)
ax.plot(xx_fit,my_power_law(array(xx_fit),popt[0],popt[1]),
color='r',ls='--',label='Direct pow. Law fit')

En el ajuste directo de la ley de potencia (con my_power_law()) los coeficientes son $a=5.2e+44$ et $k=24$ esto se ve bastante bien después de todo. En el método del logaritmo tengo $a=5.6e+64$ et $k=64.7$ ¡y la curva está 37 órdenes de magnitud por encima de los datos ! A continuación se presentan los datos con ajuste directo.

The above data with fit obtained directly with power fit law without using logarithms. A continuación se ofrece la misma información en forma de tabla.

$U_{RF}$ [V]

$t_0$ [ms]

60.000

16.378

61.000

11.316

62.000

7.087

62.200

6.259

62.400

4.089

62.600

5.668

62.800

4.922

63.000

3.815

63.200

4.895

63.400

4.156

63.600

4.063

63.800

4.046

64.000

3.650

65.000

2.931

66.000

2.474

67.000

2.065

68.000

1.487

70.000

1.471

Otro problema es que las barras de error no cruzan la curva de ajuste (barras de error más pequeñas que las cruces).

Conclusión

¿Qué te parece? ¿Le satisface la adaptación directa de la ley de la potencia? ¿Es la ley de potencias una buena elección? ¿Crees que es una elección válida para intentar ajustar los datos con una expresión analítica adivinada sin argumentos físicos? Con esta última pregunta quiero decir : ¿debería intentar determinar una forma analítica para la fórmula con física analítica? Mi método empírico se debe a que no tengo una expresión a priori, pero ¿quizás esta no sea una forma adecuada de hacer ciencia? También acabo de ver la respuesta de ~puntofijo~ https://physics.stackexchange.com/a/115137/248092 sobre el cuadrado no menor. ¿Cree que este es el principal problema?

1voto

jdhw Puntos 332

Aquí tienes un par de consejos sobre el ajuste de datos a funciones, tanto a leyes de potencia como a cualquier otra función:

  1. ¿Qué información tiene ya sobre su sistema? Dadas las magnitudes que sabes que estás midiendo, ¿cómo se relacionan "normalmente" en modelos sencillos de tu sistema? (Por ejemplo, si estás midiendo el voltaje en un circuito en función del tiempo, puedes esperar que la función sea exponencial, aunque sólo sea porque es exponencial en la mayoría de los circuitos sencillos). Es importante que esto te indique la clase de funciones de la que estás seleccionando un "mejor representante".
  2. ¿Cómo juzgar si una función se ajusta mejor que otra? Tiene que transformar su intuición visual en un criterio matemático que determine lo bueno que es un ajuste y, a continuación, utilizar ese criterio para seleccionar el mejor ajuste posible para sus datos optimizando el valor de ese criterio. El ejemplo más sencillo y que mejor se comporta para seleccionar un ajuste de este modo es ajuste por mínimos cuadrados para lo que la mayoría de los lenguajes de programación disponen de funciones especializadas.

Si cree que su sistema debe comportarse de acuerdo con una relación de ley de potencias, utilice el ajuste por mínimos cuadrados y obtendrá una función de ley de potencias específica como solución que tiene garantizado matemáticamente que es óptima (con respecto a un criterio específico). Si no es así, le recomiendo que analice su sistema para investigar qué tipo de función debería esperar ver, lo que también puede implicar la comprobación de sus datos, como recomendó By Symmetry, podría hacer un gráfico logarítmico y ver si los datos caen en una línea recta.

1voto

insomniac Puntos 56

La tarea de elegir qué función utilizar para ajustar los datos es un ejemplo de selección del modelo . Existen muchas herramientas estadísticas para decidir cuál de una colección de posibles modelos se apoya mejor en los datos. En la mayoría de los casos, hay que proporcionar las funciones que se van a probar. La prueba de selección de modelos le dirá cuál es mejor, pero eso no significa que sea el mejor. Siempre puede haber un modelo mejor que no se le haya ocurrido probar.

En muchos casos, la física en juego puede ayudarte a decidir. Si estás ajustando datos de posición en función del tiempo, puedes probar con una línea recta y una parábola. La línea recta corresponde al objeto con velocidad constante y la parábola al objeto con aceleración constante y distinta de cero. El resultado de que una de estas funciones se ajusta mejor nos habla de la física.

Si tenemos datos de voltaje recogidos de un circuito RC descargándose, podemos hacer algunos análisis teóricos y determinar $V(t)=V_0 e^{-t/\tau}$ . Así que deberíamos ajustar un decaimiento exponencial a los datos de voltaje v. tiempo. Este tipo de análisis teórico es el punto de partida. Si no se tiene una buena información a priori sobre la física, es un juego de adivinanzas. Pero qué función se ajusta, puede ayudarle a averiguar qué física está pasando. En esta situación, la mayoría de la gente empieza con funciones simples: rectas, parábolas, exponenciales, leyes de potencia.

Una de las propiedades clave de una relación de ley de potencia es invariancia de escala . Una consecuencia de esto es que cuando se representan los datos en un diagrama logarítmico ( $\log f$ v. $\log x$ ), formará una línea recta. La pendiente de esa recta es el exponente ( $-k$ si $f = a x^{-k}$ ) de la ley de potencia.

Además de un gráfico logarítmico, puede intentar hacer gráficos semilogarítmicos ( $f$ v. $\log x$ et $\log f$ v. $x$ ). Trazar los datos de distintas formas puede ayudarle a intuir qué ajustes debe probar. Pero el ajuste "a ojo" no es una buena estrategia.

1voto

JAlex Puntos 51

Es mejor tener algún tipo de base física para la relación entre cantidades. Aunque sólo sea un análisis dimensional para comprender en principio cómo deben relacionarse las cosas. El objetivo final es poder predictivo . Para poder predecir resultados futuros. Para ello se entrena el modelo con los datos existentes, se estima lo que produciría un escenario diferente con el ajuste y luego se vuelve a probar para ver hasta qué punto es buena la predicción.

Hay varios escollos en este proceso. Uno de ellos son las variables ocultas (como el tamaño o el tiempo) dentro de los coeficientes de cualquier ajuste. Yo prefiero sólo se ajustan a cantidades adimensionales con funciones como exponentes y logaritmos, etc.

Así que si hay tal cosa como un voltaje de referencia, y el tiempo crítico que son independientes de las condiciones de ensayo utilizarlos para hallar cantidades adimensionales para su uso en relaciones. Una vez más, el análisis dimensional es tu aliado, ya que puedes combinar otras magnitudes fijas para obtener lo que deseas. Por ejemplo, una distancia y una velocidad de referencia para hallar una constante de tiempo.

A continuación, observe los datos y pruebe diferentes cosas, o utilice Eureqa para encontrar las relaciones que mejor se adapten a sus necesidades con la menor complejidad.

Para ilustrar la importancia de la complejidad y el hecho de que se trata sobre todo de una cuestión de juicio humano, consideremos los dos ajustes siguientes (rojo y azul) de algunos datos

fig1

Para un humano es obvio que es el que mejor se ajusta, aunque matemáticamente ambos tienen error cero. A menos que el proceso subyacente excluya la línea recta (ajuste rojo) por no ser físicamente posible, nos veremos obligados a elegir otra cosa. Esto no significa que el azul sea un buen ajuste, sino que ambos se ajustan mal a la situación.

Específicamente para sus datos, por la experiencia de hacer este tipo de trabajo durante muchos años, las cantidades de tiempo varían a un ritmo constante (duh) y por lo tanto cualquier expresión que contenga log(t) conduciría a un problema de extrapolación, en el que el modelo fallaría a un $t=0$ . Esto es un golpe contra la ley de potencia para la cantidad de tiempo.

Lo más probable es que tenga un exp(t) tipo de término y una relación lineal con la tensión.

En resumen, el ajuste de potencia funciona si el dominio de las variables tiene sentido y los argumentos son adimensionales. Porque si se encuentra, por ejemplo, que $$t = 8.37642 \, V^{0.34762534} $$ cómo dar sentido físico a un exponente irracional.

Miro el comportamiento en los límites, la pendiente y cualquier intercepto para adivinar lo que estoy viendo. También muchas curvas suaves pueden no tener una función simple para representarlas. Hay que ser muy creativo para encontrar buenos ajustes.

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