Tenemos los siguientes datos en variable data
que pertenece a un problema que estamos resolviendo:
9996792524
8479115468
11394750532
9594869828
10850291677
10475635302
10116010939
11206949341
11975140317
11526960332
9986194500
11501088256
11833183163
13246940910
13255698568
13775653990
13567323648
14607415705
13835444224
14118970743
Estos números de fecha correspondientes se almacenan en una variable timevalues
:
735678.574305556
735710.586805556
735863.672916667
735888.539583333
735921.589583333
735941.590972222
735986.583333333
736021.481944444
736043.498611111
736063.5
736083.504166667
736223.35625
736250.45
736278.452083333
736314.327777778
736356.239583333
736383.209722222
736411.10625
736431.925694444
Ajustamos un polinomio de 9º grado a estos datos y los trazamos como sigue:
data9 = fit( timevalues, data, 'poly9', 'Normalize', 'on' );
plot(data9,timevalues,data);
Ahora tenemos que extrapolar esta tendencia / polinomio en el futuro o para más valores de timevalues
en el eje X. ¿Cómo lo hacemos?
ACTUALIZACIÓN: Descripción de nuestro problema Tenemos bits por segundo observados en nuestro dispositivo de firewall fronterizo, que es lo que son estos valores. Hay MUCHOS de estos valores en intervalos de 1 minuto en los últimos 4 años (más de un millón). No todos los valores son útiles porque sólo queremos ver cómo la tendencia de los picos aumenta en el tiempo, ya que queremos aumentar nuestra capacidad de carga antes de llegar al 'máximo' algún día. En otras palabras, no nos interesan los valles ni los valores medios, sino los 'picos'. Así que utilizamos el findpeaks()
en Matlab para encontrar los picos en nuestros datos (que son los valores de arriba). Ahora estamos tratando de ajustar una línea de tendencia en estos picos y extrapolarla para ver cómo tenemos que aumentar la capacidad en el dispositivo de frontera.