TISEAN package: Difference between revisions

1,236 bytes added ,  1 June 2015
→‎Nonlinear Prediction: Finished lzo_* demos
(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 = 4, d = 6}} is suitable. We will use it to determine the the best neighborhood to use when generating future points.  
It seems that the last pair {{Codeline|(m &#61; 4, d &#61; 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 &#61; 4, d &#61; 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.
156

edits