This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sampling_increment = 9 | |
sparse_input = in_array[::sampling_increment] | |
sparse_data = curve[::sampling_increment] | |
title_suffix = ' sparse data' + ' - with B-Spline (sampling increment = 9)' | |
x_interp = np.linspace(x_min, x_max, 100) | |
BSpline = scipy.interpolate.make_interp_spline(sparse_input, sparse_data, 2) | |
y_BSpline = BSpline(x_interp) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = 'smooth data (assumed ground truth)' | |
graph(in_array, curve, title_suffix , scatter=True, solid_line=False) | |
title_suffix = ' – sparse data' + ' - with B-Spline' | |
import scipy | |
x_interp = np.linspace(x_min, x_max, 100) | |
BSpline = scipy.interpolate.make_interp_spline(sparse_input, sparse_data, 2) | |
y_BSpline = BSpline(x_interp) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
import pandas as pd | |
noisy_data_series = pd.Series(noisy_data) | |
# Use pandas's rolling method to generate a list of moving average series based on different bin sizes | |
bin_sizes = [3, 5, 7, 10] | |
mvg_avg_list = [ (in_array, noisy_data_series.rolling(bin_size).mean()) for bin_size in bin_sizes ] | |
title_suffix = ' - noisy data'+ ' - moving average' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
z = np.polyfit(in_array, noisy_data, 20) | |
p = np.poly1d(z) | |
xp = np.linspace(x_min, x_max, 100) | |
title_suffix = ' - noisy data'+ ' - 20th dgr polynomial regression' | |
graph(in_array, noisy_data, ' - noisy data'+ ' - 20th dgr polynomial regression', scatter=True, solid_line=False, line_viz = [(xp, p(xp))]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
x_min, x_max = -3.3, 4.3 | |
from numpy.polynomial import polynomial as P | |
z = np.polyfit(in_array, noisy_data, 3) | |
p = np.poly1d(z) | |
xp = np.linspace(x_min, x_max, 100) | |
title_suffix = ' - noisy data'+ ' - 3rd dgr polynomial regression' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
m, b = np.polyfit(in_array, noisy_data, 1) | |
title_suffix = ' - noisy data'+ ' - with linear regression' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False, line_viz = [(in_array, m*x+b)]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
title_suffix = ' - noisy data'+ ' - with linear interpolation' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=True) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = 'smooth data (assumed ground truth)' | |
graph(in_array, curve, title_suffix , scatter=True, solid_line=False) | |
title_suffix = ' - noisy data' | |
graph(in_array, noisy_data, title_suffix, scatter=True, solid_line=False) | |
title_suffix = ' - sparse data' | |
graph(sparse_input, sparse_data, title_suffix, scatter=True, solid_line=False, line_viz = None) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title_suffix = 'smooth data (assumed ground truth)' | |
graph(in_array, curve, title_suffix , scatter=True, solid_line=False) | |
title_suffix = 'smooth data' + ' with linear interpolation' | |
graph(in_array, curve, title_suffix, scatter=True, solid_line=True) | |
title_suffix = 'smooth data' + ' - linear interpolation only' | |
graph(in_array, curve, title_suffix, scatter=False, solid_line=True) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def graph(x_array, y_array, custom_title, scatter=True, solid_line=False, line_viz = None): | |
''' This function can accept basic x and y arrays for a basic | |
scatter plot or line plot (or both), but it can also accept, | |
in its line_viz parameter, a list of x, y array pairs. | |
Its configuration for coloring, line weight, and dot size are | |
tailored specifically for the smoothing examples presented in | |
this blog.''' | |
# Set up the plotting | |
figure_proportions = (10, 5) |