1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to: read a dataset that includes a plurality of observation vectors, wherein each observation vector of the plurality of observation vectors includes an explanatory variable value and a response variable value; define a first knot location and a last knot location; for each number of internal knots value of a set of internal knot values, define a knot location for each internal knot of the respective number of internal knots value; for each polynomial degree value of a set of polynomial degree values, fit a b-spline type model using the first knot location, the last knot location, and the defined knot locations and the respective polynomial degree value, wherein the b-spline type model is further fit to the explanatory variable value and the response variable value of each observation vector of the plurality of observation vectors to define coefficients that describe a response variable; compute a fit criterion value for the fit b-spline type model that quantifies a goodness of the fit; and store the computed fit criterion value, the first knot location, the last knot location, the defined knot locations, the respective polynomial degree value, the respective number of internal knots value, and the defined coefficients to the computer-readable medium; determine a best fit b-spline model based on the stored, computed fit criterion value of each fit b-spline type model; present a criterion fit graph on a display, wherein the criterion fit graph includes a number of internal knots line that indicates the number of internal knots value of the determined best fit b-spline model and a polynomial degree curve for each polynomial degree value of the set of polynomial degree values, wherein each polynomial degree curve shows the stored, computed fit criterion value as a function of the set of internal knot values; present a best fit b-spline model graph on the display next to the presented criterion fit graph, wherein the best fit b-spline model graph includes a knot location line at each of the knot locations defined for the number of internal knots value of the determined best fit b-spline model and a best fit model curve that is a plot of the response variable value computed as a function of the explanatory variable value using the defined coefficients of the determined best fit b-spline model; receive an indicator that the number of internal knots line is moved to a different number of internal knots value; redefine the knot location for each internal knot based on the different number of internal knots value; determine a second best fit b-spline model based on the stored, computed fit criterion value having the different number of internal knots value for the respective number of internal knots value; and update the presented best fit b-spline model graph to show the knot location line at each of the redefined knot locations and a second best fit model curve that is a second plot of the explanatory variable value computed as a function of the response variable value using the defined coefficients of the determined second best fit b-spline model.