{ "cells": [ { "cell_type": "code", "execution_count": 9, "id": "cae65a79", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loaded 635,281 rows across 57 rides\n", "Time range: 2024-05-15 12:23:34.954315-04:00 → 2026-05-26 16:35:16.363800-04:00\n" ] } ], "source": [ "import os\n", "from pathlib import Path\n", "\n", "import pandas as pd\n", "from dotenv import load_dotenv\n", "from sqlalchemy import create_engine, text\n", "\n", "load_dotenv(Path.cwd() / \".env\")\n", "\n", "engine = create_engine(\n", " \"postgresql+psycopg2://{user}:{pw}@{host}:{port}/{db}\".format(\n", " user=os.environ[\"PG_USER\"],\n", " pw=os.environ[\"PG_PASSWORD\"],\n", " host=os.environ[\"PG_HOST\"],\n", " port=os.environ[\"PG_PORT\"],\n", " db=os.environ[\"PG_DB\"],\n", " )\n", ")\n", "\n", "# LZ_attractions_io carries one row per (timestamp, ride) and uses the\n", "# Item _id that matches both ride_master and LZ_attractions_io_poi.\n", "# (LZ_attractions_io_queuetimes is a same-data duplicate keyed by QueueLine\n", "# id, which doesn't join to anything — don't use it.)\n", "QUERY = text(\n", " \"\"\"\n", " SELECT a.time_stamp,\n", " a._id AS ride_id,\n", " r.ride AS ride_name,\n", " r.capacity,\n", " r.duration,\n", " a.queue_time AS queue_time_sec\n", " FROM knoebels.\"LZ_attractions_io\" a\n", " JOIN knoebels.ride_master r\n", " ON r.attractions_dot_io_id = a._id\n", " WHERE a.queue_time IS NOT NULL\n", " ORDER BY a.time_stamp\n", " \"\"\"\n", ")\n", "\n", "df = pd.read_sql(QUERY, engine)\n", "df[\"queue_time_min\"] = df[\"queue_time_sec\"] / 60.0\n", "\n", "# Scraper writes naive timestamps that represent America/New_York wall clock.\n", "# Localize so downstream time-of-day / day-of-week features are unambiguous.\n", "df[\"time_stamp\"] = (\n", " pd.to_datetime(df[\"time_stamp\"])\n", " .dt.tz_localize(\"America/New_York\", ambiguous=\"NaT\", nonexistent=\"NaT\")\n", ")\n", "df = df.dropna(subset=[\"time_stamp\"]).reset_index(drop=True)\n", "\n", "\n", "def get_ride_time_matrix(df: pd.DataFrame, freq: str = \"5min\") -> pd.DataFrame:\n", " \"\"\"Pivot the long df into a (timestamp x ride_name) matrix of queue times.\n", "\n", " Rows are snapped to `freq` bins so all rides share a common index.\n", " Values are mean queue time in minutes within each bin.\n", " \"\"\"\n", " snapped = df.assign(ts=df[\"time_stamp\"].dt.floor(freq))\n", " return (\n", " snapped.pivot_table(\n", " index=\"ts\",\n", " columns=\"ride_name\",\n", " values=\"queue_time_min\",\n", " aggfunc=\"mean\",\n", " )\n", " .sort_index().ffill().fillna(0) # Impute missing values: forward fill first (assume line stayed the same), then fill remaining NaNs (like morning startup) with 0\n", " )\n", "\n", "\n", "print(f\"Loaded {len(df):,} rows across {df['ride_name'].nunique()} rides\")\n", "print(f\"Time range: {df['time_stamp'].min()} → {df['time_stamp'].max()}\")\n" ] }, { "cell_type": "code", "execution_count": null, "id": "261c73fd", "metadata": {}, "outputs": [], "source": "'''\nif we were to run SVD on raw minutes, the algorithm will just chase the rides\nwith the biggest raw numbers.\n\nFrist, need to standardize the data so every ride has a mean of 0 and a variance of 1.\nscikit-learn makes this trivial\n'''\nfrom sklearn.preprocessing import StandardScaler\n\n# Rides to exclude from the PCA:\n# powersurge — torn down years ago, ~90% of its rows are imputed zeros and\n# its loadings are pure artifact.\nEXCLUDED_RIDES = [\"powersurge\"]\n\ndf_matrix = get_ride_time_matrix(df).drop(columns=EXCLUDED_RIDES, errors=\"ignore\")\n\n# Standardize the columns (rides)\nscaler = StandardScaler()\nscaled_matrix = scaler.fit_transform(df_matrix)\n\npd.DataFrame(scaled_matrix, index=df_matrix.index, columns=df_matrix.columns).head()\n" }, { "cell_type": "code", "execution_count": 12, "id": "ac1f62a3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Variance explained by PC1 (Park Mood): 40.0%\n", "Variance explained by PC2: 12.9%\n", "Variance explained by PC3: 7.0%\n" ] } ], "source": [ "from sklearn.decomposition import PCA\n", "\n", "# Let's extract the top 3 components (\"Park Mood\", \"Capacity\", etc.)\n", "pca = PCA(n_components=3)\n", "principal_components = pca.fit_transform(scaled_matrix)\n", "\n", "# Look at how much variance (signal) each component explains\n", "print(f\"Variance explained by PC1 (Park Mood): {pca.explained_variance_ratio_[0]:.1%}\")\n", "print(f\"Variance explained by PC2: {pca.explained_variance_ratio_[1]:.1%}\")\n", "print(f\"Variance explained by PC3: {pca.explained_variance_ratio_[2]:.1%}\")" ] }, { "cell_type": "code", "execution_count": 14, "id": "4663779d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "=== PC1 — top 8 rides by |loading| ===\n", "ride_name\n", "stratosfear 0.179701\n", "merry_mixer 0.173788\n", "flyer 0.168306\n", "s&g_carousel 0.168079\n", "tornado 0.166412\n", "kiddie_whip 0.166132\n", "spanish_bambini 0.165741\n", "red_baron 0.165697\n", "\n", "=== PC2 — top 8 rides by |loading| ===\n", "ride_name\n", "bumper_cars 0.230985\n", "giant_wheel 0.209181\n", "kiddie_boats -0.196950\n", "pete's_fleet -0.195781\n", "spanish_bambini -0.195189\n", "s&g_carousel -0.195019\n", "red_baron -0.190284\n", "helicopters -0.189507\n", "\n", "=== PC3 — top 8 rides by |loading| ===\n", "ride_name\n", "paratrooper 0.335514\n", "kiddie_bumper_cars -0.327763\n", "motor_boats -0.244509\n", "powersurge 0.232955\n", "tumbling_timbers -0.207141\n", "roto_jets 0.199833\n", "stratosfear 0.184504\n", "tornado 0.180223\n" ] }, { "data": { "text/plain": [ "array([,\n", " ,\n", " ], dtype=object)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Interpret each PC by looking at (1) which rides load onto it and (2) when its score is high/low.\n", "\n", "loadings = pd.DataFrame(\n", " pca.components_.T,\n", " index=df_matrix.columns,\n", " columns=[\"PC1\", \"PC2\", \"PC3\"],\n", ")\n", "\n", "scores = pd.DataFrame(\n", " principal_components,\n", " index=df_matrix.index,\n", " columns=[\"PC1\", \"PC2\", \"PC3\"],\n", ")\n", "\n", "# Top-magnitude rides per PC — these are the ones \"shaping\" the axis.\n", "for pc in loadings.columns:\n", " print(f\"\\n=== {pc} — top 8 rides by |loading| ===\")\n", " top = loadings[pc].reindex(loadings[pc].abs().sort_values(ascending=False).index).head(8)\n", " print(top.to_string())\n", "\n", "# Daily-mean PC scores over time — reveals seasonality each PC captures.\n", "scores.resample(\"D\").mean().plot(subplots=True, figsize=(12, 6), title=[\"PC1\", \"PC2\", \"PC3\"])\n" ] }, { "cell_type": "code", "id": "95277639", "source": "# Join ride metadata (area + category) to the loadings so the labels write themselves.\n# NOTE: attractions.io category names carry a trailing space (\"Kiddie \", \"Family \",\n# \"Thrill \"), so trim() here — otherwise downstream == / .isin() / dict lookups on\n# the bare names silently miss (e.g. the PC2×PC3 scatter colors all fall through).\n\nmetadata = pd.read_sql(\n text(\n \"\"\"\n SELECT r.ride AS ride_name,\n trim(c.name) AS category,\n p.parent AS area\n FROM knoebels.ride_master r\n JOIN knoebels.\"LZ_attractions_io_poi\" p\n ON p._id = r.attractions_dot_io_id\n LEFT JOIN knoebels.\"LZ_attractions_io_categories\" c\n ON c._id = p.category\n \"\"\"\n ),\n engine,\n).set_index(\"ride_name\")\n\nannotated = loadings.join(metadata)\n\nprint(\"=== Mean loading by area ===\")\nprint(annotated.groupby(\"area\")[[\"PC1\", \"PC2\", \"PC3\"]].mean().round(3))\n\nprint(\"\\n=== Mean loading by category ===\")\nprint(annotated.groupby(\"category\")[[\"PC1\", \"PC2\", \"PC3\"]].mean().round(3))\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "94e2c1be", "source": "# Validate PC interpretations from the time side.\n# PC1 (busyness) should peak weekend afternoons.\n# PC2 (Kiddieland vs main midway) should fade in the evening as the kids leave.\n# PC3 (daypart) should run positive midday — school/daycare group rates flood\n# the daytime family rides — and go negative after dark, when the evening\n# coaster/bumper-car/Ferris-wheel crowd takes over.\nimport matplotlib.pyplot as plt\n\nfig, axes = plt.subplots(1, 2, figsize=(14, 4))\n\nscores.groupby(scores.index.hour).mean().plot(ax=axes[0])\naxes[0].set_title(\"Mean PC score by hour of day\")\naxes[0].set_xlabel(\"Hour (local)\")\naxes[0].axhline(0, color=\"grey\", linewidth=0.5)\n\nscores.groupby(scores.index.dayofweek).mean().plot(ax=axes[1])\naxes[1].set_title(\"Mean PC score by day of week (0=Mon, 6=Sun)\")\naxes[1].set_xlabel(\"Day of week\")\naxes[1].axhline(0, color=\"grey\", linewidth=0.5)\n\nplt.tight_layout()\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "8663040b", "source": "# Low-rank reconstruction: how much of any one ride's queue is explained by the top 3 PCs?\n# pca.inverse_transform takes us back to standardized space; scaler.inverse_transform back to minutes.\nreconstructed = pd.DataFrame(\n scaler.inverse_transform(pca.inverse_transform(principal_components)),\n index=df_matrix.index,\n columns=df_matrix.columns,\n)\n\n# Per-ride R^2 of the rank-3 model: 1 - SS_residual / SS_total.\nss_resid = ((df_matrix - reconstructed) ** 2).sum()\nss_total = ((df_matrix - df_matrix.mean()) ** 2).sum()\nride_r2 = (1 - ss_resid / ss_total).rename(\"rank3_R2\")\n\nprint(\"=== Best explained by top 3 PCs (move with the park) ===\")\nprint(ride_r2.sort_values(ascending=False).head(10).round(3).to_string())\nprint(\"\\n=== Worst explained (ride-specific dynamics) ===\")\nprint(ride_r2.sort_values().head(10).round(3).to_string())\n\n# Visualize one well-explained ride vs the reconstruction.\nRIDE = ride_r2.sort_values(ascending=False).index[0]\nfig, ax = plt.subplots(figsize=(14, 4))\ndf_matrix[RIDE].resample(\"D\").mean().plot(ax=ax, label=\"actual\", alpha=0.6)\nreconstructed[RIDE].resample(\"D\").mean().plot(ax=ax, label=\"top-3 PC reconstruction\", alpha=0.9)\nax.set_title(f\"{RIDE}: actual vs 3-PC reconstruction (daily-mean queue, min)\")\nax.set_ylabel(\"Queue (min)\")\nax.legend()\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "701ce1d6", "source": "# Blog-ready scatter: rides positioned in PC2 x PC3 space, colored by category.\n# PC2 = Kiddieland corner vs main midway (spatial; see GPS-cluster validation)\n# PC3 = evening crowd (−) vs daytime / school-group daypart (+); NOT throughput.\nfig, ax = plt.subplots(figsize=(10, 8))\n\ncategory_colors = {\"Family\": \"tab:blue\", \"Kiddie\": \"tab:orange\", \"Thrill\": \"tab:red\"}\nfor category, group in annotated.dropna(subset=[\"category\"]).groupby(\"category\"):\n ax.scatter(\n group[\"PC2\"], group[\"PC3\"],\n label=category,\n color=category_colors.get(category, \"grey\"),\n s=80, alpha=0.7, edgecolor=\"white\",\n )\n\n# Label only the rides farthest from the origin so the plot stays readable.\ndistance = (annotated[\"PC2\"] ** 2 + annotated[\"PC3\"] ** 2) ** 0.5\nto_label = distance.sort_values(ascending=False).head(15).index\nfor ride in to_label:\n row = annotated.loc[ride]\n ax.annotate(ride, (row[\"PC2\"], row[\"PC3\"]), fontsize=8, alpha=0.85,\n xytext=(4, 2), textcoords=\"offset points\")\n\nax.axhline(0, color=\"grey\", linewidth=0.5)\nax.axvline(0, color=\"grey\", linewidth=0.5)\nax.set_xlabel(\"PC2 Kiddieland corner ← → main midway\")\nax.set_ylabel(\"PC3 evening crowd ← → daytime / school-group daypart\")\nax.set_title(\"Knoebels rides in PC2 × PC3 loading space\")\nax.legend(title=\"Category\")\nplt.tight_layout()\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "6c2f885f", "source": "# Derive park areas from GPS instead of a missing `parent` column.\n# Each POI has a (lat, lon) point; kiddie rides are physically clustered in\n# Kiddieland. KMeans on coords gives us an area label derived from geometry\n# alone, which we can then cross-check against the PCA loadings.\n#\n# k=5 carves out a tight 19-ride Kiddieland. k=3 was too coarse — it swept\n# main-midway rides near the park entrance (giant_wheel, grand_carousel,\n# bumper_cars) into the kiddie blob. IMPORTANT: lat and lon must be standardized\n# before KMeans — on raw degrees the clustering is seed-unstable (the contrast r\n# wobbles 0.60-0.71 between random_states); standardizing makes it identical\n# across seeds at r=0.78. The kiddie cluster is identified by lowest mean PC2\n# loading, so this stays self-contained (no hand-typed ride list).\nfrom sklearn.cluster import KMeans\n\npoi = pd.read_sql(\n text(\n \"\"\"\n SELECT r.ride AS ride_name,\n (p.location)[0]::float AS lat,\n (p.location)[1]::float AS lon\n FROM knoebels.ride_master r\n JOIN knoebels.\"LZ_attractions_io_poi\" p\n ON p._id = r.attractions_dot_io_id\n WHERE p.location IS NOT NULL\n \"\"\"\n ),\n engine,\n).set_index(\"ride_name\")\n\nlocated = annotated.join(poi, how=\"inner\")\n\n# KMeans on the geometry only — no PCA information leaks in. Standardize the\n# coordinates first so the clustering is reproducible (see note above).\nN_AREAS = 5\ncoords = StandardScaler().fit_transform(located[[\"lat\", \"lon\"]])\nkmeans = KMeans(n_clusters=N_AREAS, n_init=10, random_state=0)\nlocated[\"area_cluster\"] = kmeans.fit_predict(coords)\n\n# Identify the Kiddieland cluster as the one with the lowest mean PC2 loading,\n# then export ride-name lists for the validation cell to build a contrast from\n# geometry-derived groups (rather than the misfiling `category` tag).\nkiddie_cluster = located.groupby(\"area_cluster\")[\"PC2\"].mean().idxmin()\nkiddie_cluster_rides = located.index[located[\"area_cluster\"] == kiddie_cluster]\nmain_cluster_rides = located.index[located[\"area_cluster\"] != kiddie_cluster]\n\nfig, axes = plt.subplots(1, 2, figsize=(15, 7))\n\n# Left: physical map colored by PC2 loading. If the kiddie hypothesis is right,\n# one corner of the park should be uniformly blue.\nsc = axes[0].scatter(\n located[\"lon\"], located[\"lat\"],\n c=located[\"PC2\"], cmap=\"RdBu_r\", s=140,\n edgecolor=\"black\", linewidth=0.4,\n)\naxes[0].set_title(\"Rides colored by PC2 loading\\n(blue = kiddie side, red = main park)\")\naxes[0].set_xlabel(\"Longitude\")\naxes[0].set_ylabel(\"Latitude\")\nplt.colorbar(sc, ax=axes[0], label=\"PC2 loading\")\nfor ride, row in located.iterrows():\n axes[0].annotate(ride, (row[\"lon\"], row[\"lat\"]),\n fontsize=6, alpha=0.65,\n xytext=(3, 3), textcoords=\"offset points\")\n\n# Right: same map, colored by KMeans cluster on coords alone.\nfor cluster, group in located.groupby(\"area_cluster\"):\n label = f\"Area {cluster}\" + (\" (Kiddieland)\" if cluster == kiddie_cluster else \"\")\n axes[1].scatter(group[\"lon\"], group[\"lat\"], label=label, s=140, alpha=0.85)\naxes[1].set_title(f\"Spatial clusters (KMeans k={N_AREAS} on standardized lat/lon)\")\naxes[1].set_xlabel(\"Longitude\")\naxes[1].set_ylabel(\"Latitude\")\naxes[1].legend()\n\nplt.tight_layout()\n\nprint(f\"Kiddieland = cluster {kiddie_cluster} ({len(kiddie_cluster_rides)} rides):\")\nprint(\" \" + \", \".join(sorted(kiddie_cluster_rides)))\nprint(\"\\n=== Mean PC loading per spatial cluster ===\")\nprint(located.groupby(\"area_cluster\")[[\"PC1\", \"PC2\", \"PC3\"]].mean().round(3))\nprint(\"\\n=== Ride counts per cluster ===\")\nprint(located.groupby(\"area_cluster\").size())\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "6c723cc6", "source": "# Diagnostics: refine the PC labels, and check whether ffill+0 imputation is\n# corrupting any rides into a \"broken-ride\" axis.\n\nfor pc in [\"PC1\", \"PC2\", \"PC3\"]:\n print(f\"\\n=== {pc} — full sorted loadings (most negative → most positive) ===\")\n print(loadings[pc].sort_values().to_string())\n\nsilent_rate = (df_matrix == 0).mean().sort_values(ascending=False).rename(\"silent_rate\")\nprint(\"\\n=== Per-ride silent rate (fraction of rows = 0; high = closed often) ===\")\nprint(silent_rate.head(20).round(3).to_string())\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "4c567eec", "source": "# Validate PC3 as a *time-of-day* (daypart) axis.\n#\n# The original \"queue turnover / throughput\" hypothesis is untestable here:\n# ride_master.capacity and .duration are 100% NULL (0 of 60 rides), so there's\n# no throughput to correlate against. And splitting rides by PC3 sign shows no\n# queue-magnitude difference (neg-PC3 mean queue 9.8 min / busy-rate 0.37 vs\n# pos-PC3 8.8 / 0.35) — PC3 is NOT \"builds a line vs walk-on.\"\n#\n# What PC3 actually tracks is WHEN a ride is busy. The PC3 score runs strongly\n# positive midday and negative after dark. Mechanism (park ops): discounted\n# school/daycare group rates run from open to ~mid-afternoon and flood the\n# daytime family flat-rides (tea_cups, tilt-a-whirl, roto_jets, italian_trapeze);\n# the evening crowd (teens / date-night) shifts to coasters, bumper cars, motor\n# boats and the Ferris wheel after dark (impulse, bumper_cars, giant_wheel).\n\nafternoon_rides = loadings.index[loadings[\"PC3\"] > 0.1]\nevening_rides = loadings.index[loadings[\"PC3\"] < -0.1]\nprint(f\"daytime rides (PC3 > +0.1): {len(afternoon_rides)} -> {sorted(afternoon_rides)}\")\nprint(f\"evening rides (PC3 < -0.1): {len(evening_rides)} -> {sorted(evening_rides)}\")\n\nhour = df_matrix.index.hour\n# De-trend by the park-wide hourly mean so we see *shape* (when each group is\n# busy relative to the whole park), not PC1's overall nightly ramp.\npark_by_hour = df_matrix.mean(axis=1).groupby(hour).mean()\n\nfig, axes = plt.subplots(1, 2, figsize=(15, 5))\n\n# Left: the PC3 score's own daypart profile — this IS the axis.\nscores.groupby(scores.index.hour)[\"PC3\"].mean().plot(ax=axes[0], marker=\"o\")\naxes[0].axhline(0, color=\"grey\", linewidth=0.5)\naxes[0].set_title(\"PC3 score by hour of day\\n(+ = daytime pattern, − = evening pattern)\")\naxes[0].set_xlabel(\"Hour (local)\")\naxes[0].set_ylabel(\"Mean PC3 score\")\n\n# Right: each loading group's queue as a share of the park-wide level, by hour.\nfor name, grp, color in [(\"daytime rides (PC3 +)\", afternoon_rides, \"tab:orange\"),\n (\"evening rides (PC3 −)\", evening_rides, \"tab:blue\")]:\n share = df_matrix[grp].mean(axis=1).groupby(hour).mean() / park_by_hour\n share.plot(ax=axes[1], marker=\"o\", label=name, color=color)\naxes[1].axhline(1.0, color=\"grey\", linewidth=0.5)\naxes[1].set_title(\"Group queue ÷ park-wide queue, by hour\\n(de-trended — isolates daypart shape from PC1)\")\naxes[1].set_xlabel(\"Hour (local)\")\naxes[1].set_ylabel(\"Share of park-wide mean queue\")\naxes[1].legend()\n\nplt.tight_layout()\n", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "id": "6d7970ab", "source": "# Validate the PC labels against the most direct possible ground truth:\n# the average queue time of the rides each PC is supposed to represent.\n# PC1 should track park-wide mean queue.\n# PC2 should track the Kiddieland-vs-main-midway contrast (NOT raw kiddie mean —\n# on busy days both go up together, so raw kiddie mean is muddied by PC1).\n#\n# The kiddie/main split here comes from the GPS-cluster cell above\n# (`kiddie_cluster_rides` / `main_cluster_rides`), NOT the `category` tag. The\n# taxonomy misfiles ~3 rides across the divide (the big giant_wheel and\n# grand_carousel are tagged Family but sit on the main midway; the small\n# s&g_carousel sits in Kiddieland), which capped the category-based contrast at\n# r=0.73. The geometry-derived grouping (k=5) lifts it to ~0.78 — and uses\n# spatial information the PCA never saw, so it's an independent validation.\n#\n# Run the GPS-cluster cell first; this depends on its exported ride lists.\nkiddie_cols = df_matrix.columns.intersection(kiddie_cluster_rides)\nmain_cols = df_matrix.columns.intersection(main_cluster_rides)\nprint(f\"Kiddieland rides in df_matrix: {len(kiddie_cols)} | main-park rides: {len(main_cols)}\")\n\npark_mean = df_matrix.mean(axis=1)\nkiddie_mean = df_matrix[kiddie_cols].mean(axis=1)\nmain_mean = df_matrix[main_cols].mean(axis=1)\ncontrast = main_mean - kiddie_mean\n\nfig, axes = plt.subplots(1, 3, figsize=(18, 5))\n\naxes[0].scatter(park_mean, scores[\"PC1\"], s=4, alpha=0.25)\naxes[0].set_xlabel(\"Park-wide mean queue (min)\")\naxes[0].set_ylabel(\"PC1 score\")\naxes[0].set_title(f\"PC1 vs park-wide mean\\nPearson r = {park_mean.corr(scores['PC1']):.3f}\")\n\naxes[1].scatter(kiddie_mean, scores[\"PC2\"], s=4, alpha=0.25)\naxes[1].set_xlabel(\"Kiddieland mean queue (min)\")\naxes[1].set_ylabel(\"PC2 score\")\naxes[1].set_title(f\"PC2 vs raw Kiddieland mean\\nPearson r = {kiddie_mean.corr(scores['PC2']):.3f}\")\n\naxes[2].scatter(contrast, scores[\"PC2\"], s=4, alpha=0.25)\naxes[2].set_xlabel(\"Main-midway mean − Kiddieland mean (min)\")\naxes[2].set_ylabel(\"PC2 score\")\naxes[2].set_title(f\"PC2 vs main-vs-Kiddieland contrast\\nPearson r = {contrast.corr(scores['PC2']):.3f}\")\n\nplt.tight_layout()\n", "metadata": {}, "execution_count": null, "outputs": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.4" } }, "nbformat": 4, "nbformat_minor": 5 }