Skip to content
Snippets Groups Projects
Commit 5f8a0d5f authored by K. Hauke Kraemer's avatar K. Hauke Kraemer
Browse files

minors prediction tests

parent 60bb5f1a
No related branches found
No related tags found
No related merge requests found
......@@ -31,17 +31,17 @@ MSEs2 = zeros(max_neighbours-(D))
cnt = 1
for K = (D+1):max_neighbours
global cnt
prediction1, _ = MCDTS.local_linear_prediction(tr[1:end-1,:], K; theiler = theiler)
prediction1, _ = MCDTS.local_zeroth_prediction(tr[1:end-1,:], K; theiler = theiler)
MSEs1[cnt] = MCDTS.compute_mse(prediction1, Vector(tr[end,:]))
prediction2 = MCDTS.local_linear_prediction_ar(tr[1:end-1,:], K; theiler = theiler)
prediction2, _ = MCDTS.local_linear_prediction(tr[1:end-1,:], K; theiler = theiler)
MSEs2[cnt] = MCDTS.compute_mse(prediction2, Vector(tr[end,:]))
cnt += 1
end
xs = (D+1):max_neighbours
figure()
plot(xs,MSEs1, label="loc-lin")
plot(xs,MSEs2, label="loc-lin-ar")
plot(xs,MSEs1, label="loc-zeroth")
plot(xs,MSEs2, label="loc-linear")
legend()
grid()
xlabel("Neighbourhoodsize [no. of neighbours]")
......@@ -66,17 +66,17 @@ error_prediction2_ios = Dataset(zeros(size(tr[1:end-T_steps,:])))
for T = 1:T_steps
println(T)
# iterated one step
predicted1_ios, error_predicted1_ios = MCDTS.local_linear_prediction(prediction1_ios, K1; theiler = theiler)
predicted1_ios, error_predicted1_ios = MCDTS.local_zeroth_prediction(prediction1_ios, K1; theiler = theiler)
push!(prediction1_ios,predicted1_ios)
push!(error_prediction1_ios, error_predicted1_ios)
predicted2_ios, error_predicted2_ios = MCDTS.local_linear_prediction_ar(prediction2_ios, K2; theiler = theiler)
predicted2_ios, error_predicted2_ios = MCDTS.local_linear_prediction(prediction2_ios, K2; theiler = theiler)
push!(prediction2_ios,predicted2_ios)
push!(error_prediction2_ios,error_predicted2_ios)
# multistep
predicted1_ms, error_predicted1_ms = MCDTS.local_linear_prediction(tr[1:end-T_steps,:], K1; Tw = T, theiler = theiler)
predicted1_ms, error_predicted1_ms = MCDTS.local_zeroth_prediction(tr[1:end-T_steps,:], K1; Tw = T, theiler = theiler)
push!(prediction1_ms,predicted1_ms)
push!(error_prediction1_ms,error_predicted1_ms)
predicted2_ms, error_predicted2_ms = MCDTS.local_linear_prediction_ar(tr[1:end-T_steps,:], K2; Tw = T, theiler = theiler)
predicted2_ms, error_predicted2_ms = MCDTS.local_linear_prediction(tr[1:end-T_steps,:], K2; Tw = T, theiler = theiler)
push!(prediction2_ms,predicted2_ms)
push!(error_prediction2_ms,error_predicted2_ms)
end
......@@ -102,7 +102,7 @@ for i = 1:2:5
subplot(3,2,i)
scatter(error_prediction1_ios[end-T_steps:end,cnt], actual_error_prediction1_ios[end-T_steps:end,cnt])
plot(0:110, 0:110, "k--")
title("Reliability "*comp[cnt]*" (IOS), loc-lin")
title("Reliability "*comp[cnt]*" (IOS), loc-zeroth")
xlabel("predicted error")
ylabel("actual error")
yscale("log")
......@@ -112,7 +112,7 @@ for i = 1:2:5
subplot(3,2,i+1)
scatter(error_prediction1_ms[end-T_steps:end,cnt], actual_error_prediction1_ms[end-T_steps:end,cnt])
plot(0:10000, 0:10000, "k--")
title("Reliability "*comp[cnt]*" (MS), loc-lin")
title("Reliability "*comp[cnt]*" (MS), loc-zeroth")
xlabel("predicted error")
ylabel("actual error")
yscale("log")
......@@ -130,7 +130,7 @@ for i = 1:2:5
subplot(3,2,i)
scatter(error_prediction2_ios[:,cnt], actual_error_prediction2_ios[:,cnt])
plot(0:110, 0:110, "k--")
title("Reliability "*comp[cnt]*" (IOS), loc-lin-ar")
title("Reliability "*comp[cnt]*" (IOS), loc-linear")
xlabel("predicted error")
ylabel("actual error")
yscale("log")
......@@ -140,7 +140,7 @@ for i = 1:2:5
subplot(3,2,i+1)
scatter(error_prediction2_ms[:,cnt], actual_error_prediction2_ms[:,cnt])
plot(0:10000, 0:10000, "k--")
title("Reliability "*comp[cnt]*" (MS), loc-lin-ar")
title("Reliability "*comp[cnt]*" (MS), loc-linear")
xlabel("predicted error")
ylabel("actual error")
yscale("log")
......@@ -160,8 +160,8 @@ t2 = (-sp+1:T_steps) ./ lyap_time
figure(figsize=(20,10))
subplot(3,1,1)
plot(t2, tr[:,1], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-linear]")
title("x-component (iterated one-step)")
xlim(-10, 12)
ylim(-20,20)
......@@ -170,8 +170,8 @@ legend()
grid()
subplot(3,1,2)
plot(t2, tr[:,2], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-linear]")
title("y-component (iterated one-step)")
xlim(-10, 12)
ylim(-25,25)
......@@ -180,8 +180,8 @@ legend()
grid()
subplot(3,1,3)
plot(t2, tr[:,3], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ios[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ios[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-linear]")
title("z-component (iterated one-step)")
xlim(-10, 12)
ylim(0,45)
......@@ -193,8 +193,8 @@ subplots_adjust(hspace=.6)
figure(figsize=(20,10))
subplot(3,1,1)
plot(t2, tr[:,1], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),1], ".-", label="prediction [loc-linear]")
title("x-component (multi-step)")
xlim(-10, 12)
ylim(-20,20)
......@@ -203,8 +203,8 @@ legend()
grid()
subplot(3,1,2)
plot(t2, tr[:,2], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),2], ".-", label="prediction [loc-linear]")
title("y-component (multi-step)")
xlim(-10, 12)
ylim(-25,25)
......@@ -213,8 +213,8 @@ legend()
grid()
subplot(3,1,3)
plot(t2, tr[:,3], ".-", label="true data")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-lin]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-lin-ar]")
plot(t2[end-T_steps+1:end], prediction1_ms[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-zeroth]")
plot(t2[end-T_steps+1:end], prediction2_ms[length(tr)-T_steps+1:length(tr),3], ".-", label="prediction [loc-linear]")
title("z-component (multi-step)")
xlim(-10, 12)
ylim(0,45)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment