From 29100408054563c33120fedb6e888772383b5fa2 Mon Sep 17 00:00:00 2001 From: MJ Rossetti Date: Tue, 17 Sep 2024 01:30:13 -0400 Subject: [PATCH] Bias vs variance --- docs/images/bias-variance-tradeoff.ppm | Bin 0 -> 79339 bytes .../ml-foundations/data-encoding.qmd | 22 +- .../ml-foundations/generalization.qmd | 17 +- .../time-series-forecasting-ols.qmd | 241 ------------------ 4 files changed, 19 insertions(+), 261 deletions(-) create mode 100644 docs/images/bias-variance-tradeoff.ppm delete mode 100644 docs/notes/predictive-modeling/regression/time-series-forecasting-ols.qmd diff --git a/docs/images/bias-variance-tradeoff.ppm b/docs/images/bias-variance-tradeoff.ppm new file mode 100644 index 0000000000000000000000000000000000000000..30300775c106aafcdbf992442c6c7c56b786cfe1 GIT binary patch literal 79339 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"Population includes resident population plus armed forces overseas. The monthly estimate is the average of estimates for the first of the month and the first of the following month." The data is expressed in "Thousands", and is "Not Seasonally Adjusted". -::: - - -Wrangling the data, including renaming columns and [converting the date index](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#converting-to-timestamps) to be datetime-aware, may make it easier for us to work with this data: - -```{python} -from pandas import to_datetime - -df.rename(columns={DATASET_NAME: "population"}, inplace=True) -df.index.name = "date" -df.index = to_datetime(df.index) -df -``` - -## Data Exploration - -Exploring trends: - -```{python} -import plotly.express as px - -px.scatter(df, y="population", title="US Population (Monthly) vs Trend", - labels={"population":"US Population (thousands)", "value":""}, - trendline="ols", trendline_color_override="red", height=350, -) -``` - -Looks like a possible linear trend. Let's perform a more formal regression analysis. - - -## Data Encoding - -Because we need numeric features to perform a regression, we convert the dates to a linear time step of integers (after sorting the data first for good measure): - -```{python} -df.sort_values(by="date", ascending=True, inplace=True) - -df["time_step"] = range(1, len(df) + 1) -df -``` - -We will use the numeric time step as our input variable (`x`), to predict the population (`y`). - -## Data Splitting - -### X/Y Split - -Identifying dependent and independent variables: - -```{python} -#x = df[["date"]] # we need numbers not strings -x = df[["time_step"]] - -y = df["population"] - -print("X:", x.shape) -print("Y:", y.shape) -``` - -### Train/Test Split - -Splitting into training vs testing datasets: - -```{python} -#from sklearn.model_selection import train_test_split -# -#x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=99) -#print("TRAIN:", x_train.shape, y_train.shape) -#print("TEST:", x_test.shape, y_test.shape) -``` - -Splitting data sequentially where earlier data is used in training and recent data is use for testing: - -```{python} -print(len(df)) - -training_size = round(len(df) * .8) -print(training_size) - -x_train = x.iloc[:training_size] # slice all before -y_train = y.iloc[:training_size] # slice all before - -x_test = x.iloc[training_size:] # slice all after -y_test = y.iloc[training_size:] # slice all after -print("TRAIN:", x_train.shape) -print("TEST:", x_test.shape) -``` - -## Model Selection and Training - -Training a linear regression model on the training data: - -```{python} -from sklearn.linear_model import LinearRegression - -model = LinearRegression() - -model.fit(x_train, y_train) -``` - -After training, we have access to the learned weights, as well as the line of best fit (i.e. the trend line): - -```{python} -print("COEFS:", model.coef_) -print("INTERCEPT:", model.intercept_) -print("------------------") -print(f"y = {model.coef_[0].round(3)}x + {model.intercept_.round(3)}") -``` - -In this case, we interpret the line of best fit to observe how much the population is expected to grow on average per time step, as well as the population trend value at the earliest time step. - -:::{.callout-note} -Remember in this dataset the population is expressed in thousands. -::: - -## Model Prediction and Evaluation - -We use the trained model to make predictions on the test set, and then calculate regression metrics to see how well the model is doing: - -```{python} -from sklearn.metrics import mean_squared_error, r2_score - -y_pred = model.predict(x_test) - -mse = mean_squared_error(y_test, y_pred) -print("MSE:", round(mse, 4)) - -r2 = r2_score(y_test, y_pred) -print("R2:", round(r2, 4)) -``` - -A very high r-squared value represents a strong linear trend. - -Plotting predictions (trend line): - -```{python} -#df_preds = df.copy() -#df_preds["prediction"] = model.predict(df_preds[["time_step"]]) -#df_preds["error"] = df_preds["population"] - df_preds["prediction"] -# -#px.line(df_preds, y=["population", "prediction"], height=350, -# title="US Population (Monthly) vs Regression Predictions (Trend)", -# labels={"value":""} -#) -``` - -```{python} -df["prediction"] = model.predict(df[["time_step"]]) -df["error"] = df["population"] - df["prediction"] - -px.line(df, y=["population", "prediction"], height=350, - title="US Population (Monthly) vs Regression Predictions (Trend)", - labels={"value":""} -) -``` - -## Forecasting - -Assembling a dataset of future dates and time steps (which we can use as inputs to the trained model to make predictions about the future): - - -```{python} -from pandas import date_range, DateOffset, DataFrame - -last_time_step = df['time_step'].iloc[-1] -last_date = df.index[-1] -next_date = last_date + DateOffset(months=1) - -FUTURE_MONTHS = 36 -# frequency of "M" for end of month, "MS" for beginning of month -future_dates = date_range(start=next_date, periods=FUTURE_MONTHS, freq='MS') -future_time_steps = range(last_time_step + 1, last_time_step + FUTURE_MONTHS + 1) - -df_future = DataFrame({'time_step': future_time_steps}, index=future_dates) -df_future.index.name = "date" -df_future -``` - -Predicting future values: - -```{python} -df_future["prediction"] = model.predict(df_future[["time_step"]]) -df_future -``` - -Concatenating historical data with future data: - -```{python} -from pandas import concat - -chart_df = concat([df, df_future]) -chart_df -``` - -:::{.callout-note} -The population and error values for future dates are null, because we don't know them yet. Although we are able to make predictions about these values, based on historical trends. -::: - -Plotting trend vs actual, with future predictions: - -```{python} -px.line(chart_df[-180:], y=["population", "prediction"], height=350, - title="US Population (Monthly) vs Regression Predictions (Trend)", - labels={"value":""} -) -```