6 votos

Reducir el número de puntos de datos en excel manteniendo la forma de la curva

He estado recopilando datos en el trabajo para determinar las pérdidas en algunos cables que conectan habitaciones, y ahora necesito tomar esos datos (~1500 puntos) y, debido a las limitaciones del software, reducirlos a 72 puntos que sigan manteniendo la forma de la curva.

He estado trabajando en excel y he intentado buscar esto, pero el problema es que no puedo coger "cada enésima fila" y listo, ya que distorsionaría la forma de la curva.

One of the curves I need to reduce to 72 points

A chart with the points of data I gathered by hand before looking for a better method EDIT: He intentado no complicar demasiado la pregunta explicando exactamente cómo se utiliza esto y ese ha sido mi error, ya que hace que mi pregunta sea bastante ambigua. Estos datos son las pérdidas de inserción para una cierta distancia de los cables en el interior y el exterior de una cámara (Hay un conector de alta frecuencia que los conecta en el medio). Utilizamos software para manejar los equipos de prueba y, al menos para las pruebas en las que el software va de frecuencia en frecuencia, el software tiene en cuenta estas pérdidas buscándolas en una base de datos para un cable (o grupo de cables) concreto y utiliza la interpolación lineal entre puntos especificados para estimarlas mejor. El problema es que este software no permite que un cable tenga 1500 puntos para sus pérdidas, sino que lo limita a 72 puntos como máximo.

Lo que tengo que hacer es tomar estos datos y obtener de ellos 72 puntos que permitan a este software calcular con la mayor precisión las pérdidas. Podría hacerlo a mano y lo haré si no encuentro una solución mejor, pero preferiría evitar el tiempo que me llevaría procesar 12 o más conjuntos de estos datos, especialmente si pudiera desarrollar un guión o una pequeña pieza de software para mi empresa que les ayudara en el futuro cuando vuelvan a realizar estas mediciones.

EDIT_2: El segundo gráfico con la línea roja es básicamente lo que necesito obtener del conjunto de 1500 puntos de datos. No son los 72 puntos completos que necesito para ello, ya que empecé a buscar una manera de automatizar este proceso antes incluso de llegar a la mitad.

Además, soy nuevo aquí, así que no estoy muy seguro de si este es el lugar correcto para publicar esta pregunta, ni sé si he utilizado las etiquetas adecuadas para ello.

0 votos

¿Los puntos de datos que conservas tienen que proceder del conjunto de datos original? Si no es así, lo mejor sería ajustar una curva a los datos y utilizarla para generar nuevos puntos de datos que reflejen exactamente la tendencia.

1 votos

Estoy de acuerdo con @MatthewDrury, y para una solución simple de Excel parece que una ley de potencia podría ir bien. Si usted tiene que sub-muestra de los datos originales, un enfoque estándar es simplificación de curvas pero no es fácil de hacer en Excel (¿se necesitaría VBA?).

0 votos

Si desea suavizar la curva conservando su forma, puede probar a utilizar la media móvil ( es.wikipedia.org/wiki/Promedio_de_movimiento ) en lugar de los datos originales. Debería ser fácil de hacer en Excel.

1voto

alexs77 Puntos 36

Yo haría lo siguiente:

Es evidente que los datos siguen una ley de potencia. Ajuste este modelo no lineal y encuentre los N residuos más altos. Vuelva a estimar el modelo utilizando un spline lineal en cada uno de los residuos. Obtenga los valores predichos y sus entradas como una secuencia de N puntos. Puede ser N=72 o cualquier valor que desee (cuanto más alto mejor).

Probablemente no puedas hacer esto en Excel. R sin embargo... estos modelos están cubiertos en otra parte de SE y se pueden encontrar consultando ?nls , ?spline::bs etc.

0 votos

No está claro por qué el ajuste inicial de la ley de potencia sería de gran utilidad, o incluso en qué sentido su procedimiento es bueno. ¿Podrías justificarlo?

0voto

kirk Puntos 31

Deberías intentar ajustar tus datos con la ecuación siguiente:

data_y = data^a + b1*sin(c1*data) + b2*sin(c2*data) + b3*sin(c3*data) + b4*sin(c4*data)+d

Se trata de una combinación de una ley de potencia y varias funciones trigonométricas. Éstas deberían ser capaces de captar muy bien las características de tus datos, y reducirán tus datos a sólo 10 parámetros, manteniendo también su forma general.

2 votos

Dado que los "meneos" de esta curva no parecen ser realmente periódicos, parece poco probable que tenga éxito. ¿Lo has aplicado a datos comparables para comprobarlo (y ver qué falla)?

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