156
edits
(Started adding lzo_* example) |
(→Nonlinear Prediction: Finished lzo_* demos) |
||
Line 17: | Line 17: | ||
# Create different forecast error results | # Create different forecast error results | ||
steps = 200; | steps = 200; | ||
res1 = lzo_test (amplitude, 'm', 2, 'd', 6, 's', steps); | res1 = lzo_test (amplitude(1:end-200), 'm', 2, 'd', 6, 's', steps); | ||
res2 = lzo_test (amplitude, 'm', 3, 'd', 6, 's', steps); | res2 = lzo_test (amplitude(1:end-200), 'm', 3, 'd', 6, 's', steps); | ||
res3 = lzo_test (amplitude, 'm', 4, 'd', 1, 's', steps); | res3 = lzo_test (amplitude(1:end-200), 'm', 4, 'd', 1, 's', steps); | ||
res4 = lzo_test (amplitude, 'm', 4, 'd', 6, 's', steps); | res4 = lzo_test (amplitude(1:end-200), 'm', 4, 'd', 6, 's', steps); | ||
plot (res1(:,1), res1(:,2), 'r;m = 2, d = 6;', ... | plot (res1(:,1), res1(:,2), 'r;m = 2, d = 6;', ... | ||
res2(:,1), res2(:,2), 'g;m = 3, d = 6;',... | res2(:,1), res2(:,2), 'g;m = 3, d = 6;',... | ||
Line 26: | Line 26: | ||
res4(:,1), res4(:,2), 'm;m = 4, d = 6;'); | res4(:,1), res4(:,2), 'm;m = 4, d = 6;'); | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
It seems that the last pair {{Codeline|m | It seems that the last pair {{Codeline|(m = 4, d = 6)}} is suitable. We will use it to determine the the best neighborhood to use when generating future points. | ||
{{Code|Determining the best neighborhood size using lzo_gm|<syntaxhighlight lang="octave" style="font-size:13px"> | |||
gm = lzo_gm (amplitude(1:end-200), 'm', 4, 'd', 6, 's', steps, 'rhigh', 20); | |||
</syntaxhighlight>}} | |||
After analyzing {{Codeline|gm}} it is easy to observe that the least error is for the first neighborhood size of {{Codeline|gm}} which is equal to 0.49148. We will use it to produce the prediction vectors. | |||
{{Code|Creating forecast points|<syntaxhighlight lang="octave" style="font-size:13px"> | |||
steps = 200; | |||
forecast = lzo_run (amplitude(1:end-200), 'm', 4, 'd', 6, 'r', 0.49148, 'l', steps); | |||
forecast_noisy = lzo_run (amplitude(1:end-200), 'm', 4, 'd', 6, 'r', 0.49148, ... | |||
'dnoise', 10, 'l', steps); | |||
plot (amplitude(end-199:end), 'g;Actual Data;', ... | |||
forecast, 'r.;Forecast data;',... | |||
forecast_noisy, 'bo;Forecast noisy data;'); | |||
</syntaxhighlight>}} | |||
As the difference between finding the proper {{Codeline|r}} and not finding it is very small it can be for the most part omitted. <br/> | |||
The produced data is the best local zeroth order fit on the {{Codeline|amplitude.dat}} for {{Codeline|(m = 4, d = 6)}}. | |||
=== Nonlinear Noise Reduction === | === Nonlinear Noise Reduction === | ||
This tutorial show different methods of the 'Nonlinear Noise Reduction' section of the TISEAN documentation (located [http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/docs/chaospaper/node22.html#SECTION00060000000000000000 here]). It shows the use of simple nonlinear noise reduction (function {{Codeline|lazy}}) and locally projective nonlinear noise reduction (function {{Codeline|ghkss}}). To start let's create noisy data to work with. | This tutorial show different methods of the 'Nonlinear Noise Reduction' section of the TISEAN documentation (located [http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/docs/chaospaper/node22.html#SECTION00060000000000000000 here]). It shows the use of simple nonlinear noise reduction (function {{Codeline|lazy}}) and locally projective nonlinear noise reduction (function {{Codeline|ghkss}}). To start let's create noisy data to work with. |
edits