[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-streamlit-dashboard-prophet-vs-arima-stock-forecas-summary":3,"summaries-facets-categories":231,"summary-related-streamlit-dashboard-prophet-vs-arima-stock-forecas-summary":3816},{"id":4,"title":5,"ai":6,"body":13,"categories":207,"created_at":209,"date_modified":209,"description":200,"extension":210,"faq":209,"featured":211,"kicker_label":209,"meta":212,"navigation":213,"path":214,"published_at":215,"question":209,"scraped_at":209,"seo":216,"sitemap":217,"source_id":218,"source_name":219,"source_type":220,"source_url":221,"stem":222,"tags":223,"thumbnail_url":209,"tldr":228,"tweet":209,"unknown_tags":229,"__hash__":230},"summaries\u002Fsummaries\u002Fstreamlit-dashboard-prophet-vs-arima-stock-forecas-summary.md","Streamlit Dashboard: Prophet vs ARIMA Stock Forecasts",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",6934,1754,14065,0.0022413,{"type":14,"value":15,"toc":199},"minimark",[16,21,46,61,90,97,101,108,115,137,141,155,169,179,182,186],[17,18,20],"h2",{"id":19},"interactive-dashboard-setup-speeds-exploration","Interactive Dashboard Setup Speeds Exploration",[22,23,24,25,29,30,33,34,37,38,41,42,45],"p",{},"Start with ",[26,27,28],"code",{},"st.set_page_config(layout=\"wide\")"," and ",[26,31,32],{},"st.title(\"📊 Stock Forecast Dashboard\")"," for a clean interface. Use sidebar controls for dynamic input: ",[26,35,36],{},"st.sidebar.date_input"," sets start_date (default 2020-01-01) and end_date (default 2021-01-01); ",[26,39,40],{},"st.sidebar.selectbox"," from a CSV-loaded ticker_list (e.g., index to \"AA\"); ",[26,43,44],{},"st.sidebar.slider(\"Forecast Days\", 1, 60, 7)"," for n_day periods.",[22,47,48,49,52,53,56,57,60],{},"Cache data fetches with ",[26,50,51],{},"@st.cache_data def load_data(ticker): data = yf.download(ticker, start=start_date, end=end_date); data.reset_index(inplace=True)"," to avoid slow API repeats. Handle MultiIndex columns via ",[26,54,55],{},"if isinstance(data.columns, pd.MultiIndex): data.columns = data.columns.get_level_values(0)",". Guard against empty data or \u003C10 rows with ",[26,58,59],{},"if data.empty or df.shape[0] \u003C 10: st.stop()",".",[22,62,63,64,68,69,72,73,68,75,78,79,82,83,29,86,89],{},"Add KPI cards in columns: compute last_price = data",[65,66,67],"span",{},"'Close'",".iloc",[65,70,71],{},"-1",", first_price = data",[65,74,67],{},[65,76,77],{},"0",", change = last_price - first_price, pct_change = (change \u002F first_price) * 100; display via ",[26,80,81],{},"col1.metric(\"Last Price\", f\"{last_price:.2f}\")",", etc. For raw data, use ",[26,84,85],{},"st.number_input(\"Rows\", min_value=5, max_value=len(data), value=20)",[26,87,88],{},"st.dataframe(data.tail(int(show_last)), use_container_width=True)"," to inspect latest rows interactively.",[22,91,92,93,96],{},"Prep for models: ",[26,94,95],{},"df = data[['Date','Close']].copy(); df.columns = ['ds','y']; df.dropna()"," ensures Prophet format—missing 'ds'\u002F'y' causes failures.",[17,98,100],{"id":99},"prophet-and-arima-deliver-complementary-forecasts","Prophet and ARIMA Deliver Complementary Forecasts",[22,102,103,104,107],{},"Prophet auto-detects trends and seasonality (weekly\u002Fyearly): ",[26,105,106],{},"prophet_model = Prophet(); prophet_model.fit(df); future = prophet_model.make_future_dataframe(periods=n_day); forecast_prophet = prophet_model.predict(future)",". Ideal for patterned time series without manual tuning.",[22,109,110,111,114],{},"ARIMA uses autoregression, differencing (d=1), moving averages (order=(5,1,0)): ",[26,112,113],{},"model = ARIMA(df['y'], order=(5,1,0)); model_fit = model.fit()",". Suited for stable, consistent data needing statistical rigor—requires more data insight than Prophet.",[22,116,117,118,121,122,125,126,129,130,129,133,136],{},"Visualize in one Plotly ",[26,119,120],{},"go.Figure()",": add actuals ",[26,123,124],{},"go.Scatter(x=df['ds'], y=df['y'], name='Actual')",", overlay Prophet\u002FARIMA forecasts. Add toggles: ",[26,127,128],{},"st.selectbox(\"Select Model\", [\"All\", \"Prophet Only\", \"ARIMA Only\"])",", ",[26,131,132],{},"show_ci = st.checkbox(\"Show Confidence Interval\")",[26,134,135],{},"highlight_forecast = st.checkbox(\"Highlight Forecast Area\")"," for interactive exploration.",[17,138,140],{"id":139},"metrics-and-rules-pinpoint-better-model-per-stock","Metrics and Rules Pinpoint Better Model Per Stock",[22,142,143,144,147,148,151,152,154],{},"Split 80\u002F20: ",[26,145,146],{},"split = int(len(df) * 0.8); train = df.iloc[:split]; test = df.iloc[split:]",". Compute MAE = mean_absolute_error(test",[65,149,150],{},"'y'",", pred), RMSE = sqrt(mean_squared_error(test",[65,153,150],{},", pred)), MAPE similarly.",[22,156,157,158,161,162,165,166,60],{},"Display side-by-side in columns: ",[26,159,160],{},"with col1: st.markdown(\"### Prophet\"); st.metric(\"MAE\", f\"{mae_prophet:.4f}\")"," etc. for both models. Pick winner by RMSE (penalizes large errors): ",[26,163,164],{},"if rmse_prophet \u003C rmse_arima: winner = \"Prophet\"",". Show ",[26,167,168],{},"st.success(f\"{winner} performs better based on RMSE\")",[22,170,171,172,175,176,178],{},"Interpret MAPE: ",[26,173,174],{},"def interpret_mape(mape): if mape \u003C 10: \"✅ Good Model\"; elif mape \u003C 20: \"⚠️ Acceptable Model\"; else: \"❌ Poor Model\"",". Normalize error: avg_price = test",[65,177,150],{},".mean(); relative_rmse = (best_rmse \u002F avg_price) * 100 to contextualize against price scale.",[22,180,181],{},"Performance varies—Prophet better for \"AA\", ARIMA for \"GOOGL\" with smaller RMSE. No universal winner; evaluate per stock across metrics.",[17,183,185],{"id":184},"deploy-fast-streamlit-cloud-over-ngrok","Deploy Fast: Streamlit Cloud Over Ngrok",[22,187,188,189,192,193,60],{},"Push to GitHub for Streamlit Cloud deployment—generates stable public link. For local testing, ",[26,190,191],{},"from pyngrok import ngrok; ngrok.connect(8501)"," provides temp URL, but unstable long-term. Full code at ",[194,195,196],"a",{"href":196,"rel":197},"https:\u002F\u002Fgithub.com\u002FjihanKamilah\u002FMarketPulse-Stock-Forecast-App",[198],"nofollow",{"title":200,"searchDepth":201,"depth":201,"links":202},"",2,[203,204,205,206],{"id":19,"depth":201,"text":20},{"id":99,"depth":201,"text":100},{"id":139,"depth":201,"text":140},{"id":184,"depth":201,"text":185},[208],"Data Science & Visualization",null,"md",false,{},true,"\u002Fsummaries\u002Fstreamlit-dashboard-prophet-vs-arima-stock-forecas-summary","2026-04-08 21:21:17",{"title":5,"description":200},{"loc":214},"3e2aa6c9cf742867","Learning Data","article","https:\u002F\u002Funknown","summaries\u002Fstreamlit-dashboard-prophet-vs-arima-stock-forecas-summary",[224,225,226,227],"data-science","data-visualization","python","machine-learning","Build an interactive Streamlit app to load stock data, forecast with Prophet (auto-trend\u002Fseasonality) and ARIMA (order=5,1,0), compare via side-by-side MAE\u002FRMSE\u002FMAPE metrics, declare RMSE winner, and interpret MAPE (\u003C10% good, \u003C20% acceptable). Use caching to speed up yf.download, 80\u002F20 train\u002Ftest split.",[],"wtTd2VwQ5rOZn_VWzzoJM55_nwR7HPP6D3iNrnS1KBU",[232,235,238,241,244,247,249,251,253,255,257,259,262,264,266,268,270,272,274,276,278,280,283,285,287,289,292,294,296,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814],{"categories":233},[234],"Developer Productivity",{"categories":236},[237],"Business & SaaS",{"categories":239},[240],"AI & LLMs",{"categories":242},[243],"AI Automation",{"categories":245},[246],"Product Strategy",{"categories":248},[240],{"categories":250},[234],{"categories":252},[237],{"categories":254},[],{"categories":256},[240],{"categories":258},[],{"categories":260},[261],"AI News & Trends",{"categories":263},[243],{"categories":265},[261],{"categories":267},[243],{"categories":269},[243],{"categories":271},[240],{"categories":273},[240],{"categories":275},[261],{"categories":277},[240],{"categories":279},[],{"categories":281},[282],"Design & Frontend",{"categories":284},[208],{"categories":286},[261],{"categories":288},[],{"categories":290},[291],"Software Engineering",{"categories":293},[240],{"categories":295},[243],{"categories":297},[298],"Marketing & Growth",{"categories":300},[240],{"categories":302},[243],{"categories":304},[],{"categories":306},[],{"categories":308},[282],{"categories":310},[243],{"categories":312},[234],{"categories":314},[282],{"categories":316},[240],{"categories":318},[243],{"categories":320},[261],{"categories":322},[],{"categories":324},[],{"categories":326},[243],{"categories":328},[291],{"categories":330},[],{"categories":332},[237],{"categories":334},[],{"categories":336},[],{"categories":338},[243],{"categories":340},[243],{"categories":342},[240],{"categories":344},[],{"categories":346},[291],{"categories":348},[],{"categories":350},[],{"categories":352},[],{"categories":354},[240],{"categories":356},[298],{"categories":358},[282],{"categories":360},[282],{"categories":362},[240],{"categories":364},[243],{"categories":366},[240],{"categories":368},[240],{"categories":370},[243],{"categories":372},[243],{"categories":374},[208],{"categories":376},[261],{"categories":378},[243],{"categories":380},[298],{"categories":382},[243],{"categories":384},[246],{"categories":386},[],{"categories":388},[243],{"categories":390},[],{"categories":392},[243],{"categories":394},[291],{"categories":396},[282],{"categories":398},[240],{"categories":400},[],{"categories":402},[],{"categories":404},[243],{"categories":406},[],{"categories":408},[240],{"categories":410},[],{"categories":412},[234],{"categories":414},[291],{"categories":416},[237],{"categories":418},[261],{"categories":420},[240],{"categories":422},[],{"categories":424},[240],{"categories":426},[],{"categories":428},[291],{"categories":430},[208],{"categories":432},[],{"categories":434},[240],{"categories":436},[282],{"categories":438},[],{"categories":440},[282],{"categories":442},[243],{"categories":444},[],{"categories":446},[243],{"categories":448},[261],{"categories":450},[237],{"categories":452},[240],{"categories":454},[],{"categories":456},[243],{"categories":458},[240],{"categories":460},[246],{"categories":462},[],{"categories":464},[240],{"categories":466},[243],{"categories":468},[243],{"categories":470},[],{"categories":472},[208],{"categories":474},[240],{"categories":476},[],{"categories":478},[234],{"categories":480},[237],{"categories":482},[240],{"categories":484},[243],{"categories":486},[291],{"categories":488},[240],{"categories":490},[],{"categories":492},[],{"categories":494},[240],{"categories":496},[],{"categories":498},[282],{"categories":500},[],{"categories":502},[240],{"categories":504},[],{"categories":506},[243],{"categories":508},[240],{"categories":510},[282],{"categories":512},[],{"categories":514},[240],{"categories":516},[240],{"categories":518},[237],{"categories":520},[243],{"categories":522},[240],{"categories":524},[282],{"categories":526},[243],{"categories":528},[],{"categories":530},[],{"categories":532},[261],{"categories":534},[],{"categories":536},[240],{"categories":538},[237,298],{"categories":540},[],{"categories":542},[240],{"categories":544},[],{"categories":546},[],{"categories":548},[240],{"categories":550},[],{"categories":552},[240],{"categories":554},[555],"DevOps & Cloud",{"categories":557},[],{"categories":559},[261],{"categories":561},[282],{"categories":563},[],{"categories":565},[261],{"categories":567},[261],{"categories":569},[240],{"categories":571},[298],{"categories":573},[],{"categories":575},[237],{"categories":577},[],{"categories":579},[240,555],{"categories":581},[240],{"categories":583},[240],{"categories":585},[243],{"categories":587},[240,291],{"categories":589},[208],{"categories":591},[240],{"categories":593},[298],{"categories":595},[243],{"categories":597},[243],{"categories":599},[],{"categories":601},[243],{"categories":603},[240,237],{"categories":605},[],{"categories":607},[282],{"categories":609},[282],{"categories":611},[],{"categories":613},[],{"categories":615},[261],{"categories":617},[],{"categories":619},[234],{"categories":621},[291],{"categories":623},[240],{"categories":625},[282],{"categories":627},[243],{"categories":629},[291],{"categories":631},[261],{"categories":633},[282],{"categories":635},[],{"categories":637},[240],{"categories":639},[240],{"categories":641},[240],{"categories":643},[261],{"categories":645},[234],{"categories":647},[240],{"categories":649},[243],{"categories":651},[555],{"categories":653},[282],{"categories":655},[243],{"categories":657},[],{"categories":659},[],{"categories":661},[282],{"categories":663},[261],{"categories":665},[208],{"categories":667},[],{"categories":669},[240],{"categories":671},[240],{"categories":673},[237],{"categories":675},[240],{"categories":677},[240],{"categories":679},[261],{"categories":681},[],{"categories":683},[243],{"categories":685},[291],{"categories":687},[],{"categories":689},[240],{"categories":691},[240],{"categories":693},[243],{"categories":695},[],{"categories":697},[],{"categories":699},[240],{"categories":701},[],{"categories":703},[237],{"categories":705},[243],{"categories":707},[],{"categories":709},[234],{"categories":711},[240],{"categories":713},[237],{"categories":715},[261],{"categories":717},[],{"categories":719},[],{"categories":721},[],{"categories":723},[261],{"categories":725},[261],{"categories":727},[],{"categories":729},[],{"categories":731},[237],{"categories":733},[],{"categories":735},[],{"categories":737},[234],{"categories":739},[],{"categories":741},[298],{"categories":743},[243],{"categories":745},[237],{"categories":747},[243],{"categories":749},[291],{"categories":751},[],{"categories":753},[246],{"categories":755},[282],{"categories":757},[291],{"categories":759},[240],{"categories":761},[243],{"categories":763},[237],{"categories":765},[240],{"categories":767},[],{"categories":769},[],{"categories":771},[291],{"categories":773},[208],{"categories":775},[246],{"categories":777},[243],{"categories":779},[240],{"categories":781},[],{"categories":783},[555],{"categories":785},[],{"categories":787},[243],{"categories":789},[],{"categories":791},[],{"categories":793},[240],{"categories":795},[282],{"categories":797},[298],{"categories":799},[243],{"categories":801},[],{"categories":803},[234],{"categories":805},[],{"categories":807},[261],{"categories":809},[240,555],{"categories":811},[261],{"categories":813},[240],{"categories":815},[237],{"categories":817},[240],{"categories":819},[],{"categories":821},[237],{"categories":823},[],{"categories":825},[291],{"categories":827},[282],{"categories":829},[261],{"categories":831},[208],{"categories":833},[234],{"categories":835},[240],{"categories":837},[291],{"categories":839},[],{"categories":841},[],{"categories":843},[246],{"categories":845},[],{"categories":847},[240],{"categories":849},[],{"categories":851},[282],{"categories":853},[282],{"categories":855},[282],{"categories":857},[],{"categories":859},[],{"categories":861},[261],{"categories":863},[243],{"categories":865},[240],{"categories":867},[240],{"categories":869},[240],{"categories":871},[237],{"categories":873},[240],{"categories":875},[],{"categories":877},[291],{"categories":879},[291],{"categories":881},[237],{"categories":883},[],{"categories":885},[240],{"categories":887},[240],{"categories":889},[237],{"categories":891},[261],{"categories":893},[298],{"categories":895},[243],{"categories":897},[],{"categories":899},[282],{"categories":901},[],{"categories":903},[240],{"categories":905},[],{"categories":907},[237],{"categories":909},[243],{"categories":911},[],{"categories":913},[555],{"categories":915},[208],{"categories":917},[291],{"categories":919},[298],{"categories":921},[291],{"categories":923},[243],{"categories":925},[],{"categories":927},[],{"categories":929},[243],{"categories":931},[234],{"categories":933},[243],{"categories":935},[246],{"categories":937},[237],{"categories":939},[],{"categories":941},[240],{"categories":943},[246],{"categories":945},[240],{"categories":947},[240],{"categories":949},[298],{"categories":951},[282],{"categories":953},[243],{"categories":955},[],{"categories":957},[],{"categories":959},[555],{"categories":961},[291],{"categories":963},[],{"categories":965},[243],{"categories":967},[240],{"categories":969},[282,240],{"categories":971},[234],{"categories":973},[],{"categories":975},[240],{"categories":977},[234],{"categories":979},[282],{"categories":981},[243],{"categories":983},[291],{"categories":985},[],{"categories":987},[240],{"categories":989},[],{"categories":991},[234],{"categories":993},[],{"categories":995},[243],{"categories":997},[246],{"categories":999},[240],{"categories":1001},[240],{"categories":1003},[282],{"categories":1005},[243],{"categories":1007},[555],{"categories":1009},[282],{"categories":1011},[243],{"categories":1013},[240],{"categories":1015},[240],{"categories":1017},[240],{"categories":1019},[261],{"categories":1021},[],{"categories":1023},[246],{"categories":1025},[243],{"categories":1027},[282],{"categories":1029},[243],{"categories":1031},[291],{"categories":1033},[282],{"categories":1035},[243],{"categories":1037},[261],{"categories":1039},[],{"categories":1041},[240],{"categories":1043},[282],{"categories":1045},[240],{"categories":1047},[234],{"categories":1049},[261],{"categories":1051},[240],{"categories":1053},[298],{"categories":1055},[240],{"categories":1057},[240],{"categories":1059},[243],{"categories":1061},[243],{"categories":1063},[240],{"categories":1065},[243],{"categories":1067},[282],{"categories":1069},[240],{"categories":1071},[],{"categories":1073},[],{"categories":1075},[291],{"categories":1077},[],{"categories":1079},[234],{"categories":1081},[555],{"categories":1083},[],{"categories":1085},[234],{"categories":1087},[237],{"categories":1089},[298],{"categories":1091},[],{"categories":1093},[237],{"categories":1095},[],{"categories":1097},[],{"categories":1099},[],{"categories":1101},[],{"categories":1103},[],{"categories":1105},[240],{"categories":1107},[243],{"categories":1109},[555],{"categories":1111},[234],{"categories":1113},[240],{"categories":1115},[291],{"categories":1117},[246],{"categories":1119},[240],{"categories":1121},[298],{"categories":1123},[240],{"categories":1125},[240],{"categories":1127},[240],{"categories":1129},[240,234],{"categories":1131},[291],{"categories":1133},[291],{"categories":1135},[282],{"categories":1137},[240],{"categories":1139},[],{"categories":1141},[],{"categories":1143},[],{"categories":1145},[291],{"categories":1147},[208],{"categories":1149},[261],{"categories":1151},[282],{"categories":1153},[],{"categories":1155},[240],{"categories":1157},[240],{"categories":1159},[],{"categories":1161},[],{"categories":1163},[243],{"categories":1165},[240],{"categories":1167},[237],{"categories":1169},[],{"categories":1171},[234],{"categories":1173},[240],{"categories":1175},[234],{"categories":1177},[240],{"categories":1179},[291],{"categories":1181},[298],{"categories":1183},[240,282],{"categories":1185},[261],{"categories":1187},[282],{"categories":1189},[],{"categories":1191},[555],{"categories":1193},[282],{"categories":1195},[243],{"categories":1197},[],{"categories":1199},[],{"categories":1201},[],{"categories":1203},[],{"categories":1205},[291],{"categories":1207},[243],{"categories":1209},[243],{"categories":1211},[555],{"categories":1213},[240],{"categories":1215},[240],{"categories":1217},[240],{"categories":1219},[],{"categories":1221},[282],{"categories":1223},[],{"categories":1225},[],{"categories":1227},[243],{"categories":1229},[],{"categories":1231},[],{"categories":1233},[298],{"categories":1235},[298],{"categories":1237},[243],{"categories":1239},[],{"categories":1241},[240],{"categories":1243},[240],{"categories":1245},[291],{"categories":1247},[282],{"categories":1249},[282],{"categories":1251},[243],{"categories":1253},[234],{"categories":1255},[240],{"categories":1257},[282],{"categories":1259},[282],{"categories":1261},[243],{"categories":1263},[243],{"categories":1265},[240],{"categories":1267},[],{"categories":1269},[],{"categories":1271},[240],{"categories":1273},[243],{"categories":1275},[261],{"categories":1277},[291],{"categories":1279},[234],{"categories":1281},[240],{"categories":1283},[],{"categories":1285},[243],{"categories":1287},[243],{"categories":1289},[],{"categories":1291},[234],{"categories":1293},[240],{"categories":1295},[234],{"categories":1297},[234],{"categories":1299},[],{"categories":1301},[],{"categories":1303},[243],{"categories":1305},[243],{"categories":1307},[240],{"categories":1309},[240],{"categories":1311},[261],{"categories":1313},[208],{"categories":1315},[246],{"categories":1317},[261],{"categories":1319},[282],{"categories":1321},[],{"categories":1323},[261],{"categories":1325},[],{"categories":1327},[],{"categories":1329},[],{"categories":1331},[],{"categories":1333},[291],{"categories":1335},[208],{"categories":1337},[],{"categories":1339},[240],{"categories":1341},[240],{"categories":1343},[208],{"categories":1345},[291],{"categories":1347},[],{"categories":1349},[],{"categories":1351},[243],{"categories":1353},[261],{"categories":1355},[261],{"categories":1357},[243],{"categories":1359},[234],{"categories":1361},[240,555],{"categories":1363},[],{"categories":1365},[282],{"categories":1367},[234],{"categories":1369},[243],{"categories":1371},[282],{"categories":1373},[],{"categories":1375},[243],{"categories":1377},[243],{"categories":1379},[240],{"categories":1381},[298],{"categories":1383},[291],{"categories":1385},[282],{"categories":1387},[],{"categories":1389},[243],{"categories":1391},[240],{"categories":1393},[243],{"categories":1395},[243],{"categories":1397},[243],{"categories":1399},[298],{"categories":1401},[243],{"categories":1403},[240],{"categories":1405},[],{"categories":1407},[298],{"categories":1409},[261],{"categories":1411},[243],{"categories":1413},[],{"categories":1415},[],{"categories":1417},[240],{"categories":1419},[243],{"categories":1421},[261],{"categories":1423},[243],{"categories":1425},[],{"categories":1427},[],{"categories":1429},[],{"categories":1431},[243],{"categories":1433},[],{"categories":1435},[],{"categories":1437},[208],{"categories":1439},[240],{"categories":1441},[208],{"categories":1443},[261],{"categories":1445},[240],{"categories":1447},[240],{"categories":1449},[243],{"categories":1451},[240],{"categories":1453},[],{"categories":1455},[],{"categories":1457},[555],{"categories":1459},[],{"categories":1461},[],{"categories":1463},[234],{"categories":1465},[],{"categories":1467},[],{"categories":1469},[],{"categories":1471},[],{"categories":1473},[291],{"categories":1475},[261],{"categories":1477},[298],{"categories":1479},[237],{"categories":1481},[240],{"categories":1483},[240],{"categories":1485},[237],{"categories":1487},[],{"categories":1489},[282],{"categories":1491},[243],{"categories":1493},[237],{"categories":1495},[240],{"categories":1497},[240],{"categories":1499},[234],{"categories":1501},[],{"categories":1503},[234],{"categories":1505},[240],{"categories":1507},[298],{"categories":1509},[243],{"categories":1511},[261],{"categories":1513},[237],{"categories":1515},[240],{"categories":1517},[243],{"categories":1519},[],{"categories":1521},[240],{"categories":1523},[234],{"categories":1525},[240],{"categories":1527},[],{"categories":1529},[261],{"categories":1531},[240],{"categories":1533},[],{"categories":1535},[237],{"categories":1537},[240],{"categories":1539},[],{"categories":1541},[],{"categories":1543},[],{"categories":1545},[240],{"categories":1547},[],{"categories":1549},[555],{"categories":1551},[240],{"categories":1553},[],{"categories":1555},[240],{"categories":1557},[240],{"categories":1559},[240],{"categories":1561},[240,555],{"categories":1563},[240],{"categories":1565},[240],{"categories":1567},[282],{"categories":1569},[243],{"categories":1571},[],{"categories":1573},[243],{"categories":1575},[240],{"categories":1577},[240],{"categories":1579},[240],{"categories":1581},[234],{"categories":1583},[234],{"categories":1585},[291],{"categories":1587},[282],{"categories":1589},[243],{"categories":1591},[],{"categories":1593},[240],{"categories":1595},[261],{"categories":1597},[240],{"categories":1599},[237],{"categories":1601},[],{"categories":1603},[555],{"categories":1605},[282],{"categories":1607},[282],{"categories":1609},[243],{"categories":1611},[261],{"categories":1613},[243],{"categories":1615},[240],{"categories":1617},[],{"categories":1619},[240],{"categories":1621},[],{"categories":1623},[],{"categories":1625},[240],{"categories":1627},[240],{"categories":1629},[240],{"categories":1631},[243],{"categories":1633},[240],{"categories":1635},[],{"categories":1637},[208],{"categories":1639},[243],{"categories":1641},[],{"categories":1643},[],{"categories":1645},[240],{"categories":1647},[261],{"categories":1649},[],{"categories":1651},[282],{"categories":1653},[555],{"categories":1655},[261],{"categories":1657},[291],{"categories":1659},[291],{"categories":1661},[261],{"categories":1663},[261],{"categories":1665},[555],{"categories":1667},[],{"categories":1669},[261],{"categories":1671},[240],{"categories":1673},[234],{"categories":1675},[261],{"categories":1677},[],{"categories":1679},[208],{"categories":1681},[261],{"categories":1683},[291],{"categories":1685},[261],{"categories":1687},[555],{"categories":1689},[240],{"categories":1691},[240],{"categories":1693},[],{"categories":1695},[237],{"categories":1697},[],{"categories":1699},[],{"categories":1701},[240],{"categories":1703},[240],{"categories":1705},[240],{"categories":1707},[240],{"categories":1709},[],{"categories":1711},[208],{"categories":1713},[234],{"categories":1715},[],{"categories":1717},[240],{"categories":1719},[240],{"categories":1721},[555],{"categories":1723},[555],{"categories":1725},[],{"categories":1727},[243],{"categories":1729},[261],{"categories":1731},[261],{"categories":1733},[240],{"categories":1735},[243],{"categories":1737},[],{"categories":1739},[282],{"categories":1741},[240],{"categories":1743},[240],{"categories":1745},[],{"categories":1747},[],{"categories":1749},[555],{"categories":1751},[240],{"categories":1753},[291],{"categories":1755},[237],{"categories":1757},[240],{"categories":1759},[],{"categories":1761},[243],{"categories":1763},[234],{"categories":1765},[234],{"categories":1767},[],{"categories":1769},[240],{"categories":1771},[282],{"categories":1773},[243],{"categories":1775},[],{"categories":1777},[240],{"categories":1779},[240],{"categories":1781},[243],{"categories":1783},[],{"categories":1785},[243],{"categories":1787},[291],{"categories":1789},[],{"categories":1791},[240],{"categories":1793},[],{"categories":1795},[240],{"categories":1797},[],{"categories":1799},[240],{"categories":1801},[240],{"categories":1803},[],{"categories":1805},[240],{"categories":1807},[261],{"categories":1809},[240],{"categories":1811},[240],{"categories":1813},[234],{"categories":1815},[240],{"categories":1817},[261],{"categories":1819},[243],{"categories":1821},[],{"categories":1823},[240],{"categories":1825},[298],{"categories":1827},[],{"categories":1829},[],{"categories":1831},[],{"categories":1833},[234],{"categories":1835},[261],{"categories":1837},[243],{"categories":1839},[240],{"categories":1841},[282],{"categories":1843},[243],{"categories":1845},[],{"categories":1847},[243],{"categories":1849},[],{"categories":1851},[240],{"categories":1853},[243],{"categories":1855},[240],{"categories":1857},[],{"categories":1859},[240],{"categories":1861},[240],{"categories":1863},[261],{"categories":1865},[282],{"categories":1867},[243],{"categories":1869},[282],{"categories":1871},[237],{"categories":1873},[],{"categories":1875},[],{"categories":1877},[240],{"categories":1879},[234],{"categories":1881},[261],{"categories":1883},[],{"categories":1885},[],{"categories":1887},[291],{"categories":1889},[282],{"categories":1891},[],{"categories":1893},[240],{"categories":1895},[],{"categories":1897},[298],{"categories":1899},[240],{"categories":1901},[555],{"categories":1903},[291],{"categories":1905},[],{"categories":1907},[243],{"categories":1909},[240],{"categories":1911},[243],{"categories":1913},[243],{"categories":1915},[240],{"categories":1917},[],{"categories":1919},[234],{"categories":1921},[240],{"categories":1923},[237],{"categories":1925},[291],{"categories":1927},[282],{"categories":1929},[],{"categories":1931},[],{"categories":1933},[],{"categories":1935},[243],{"categories":1937},[282],{"categories":1939},[261],{"categories":1941},[240],{"categories":1943},[261],{"categories":1945},[282],{"categories":1947},[],{"categories":1949},[282],{"categories":1951},[261],{"categories":1953},[237],{"categories":1955},[240],{"categories":1957},[261],{"categories":1959},[298],{"categories":1961},[],{"categories":1963},[],{"categories":1965},[208],{"categories":1967},[240,291],{"categories":1969},[261],{"categories":1971},[240],{"categories":1973},[243],{"categories":1975},[243],{"categories":1977},[240],{"categories":1979},[],{"categories":1981},[291],{"categories":1983},[240],{"categories":1985},[208],{"categories":1987},[243],{"categories":1989},[298],{"categories":1991},[555],{"categories":1993},[],{"categories":1995},[234],{"categories":1997},[243],{"categories":1999},[243],{"categories":2001},[291],{"categories":2003},[240],{"categories":2005},[240],{"categories":2007},[],{"categories":2009},[],{"categories":2011},[],{"categories":2013},[555],{"categories":2015},[261],{"categories":2017},[240],{"categories":2019},[240],{"categories":2021},[240],{"categories":2023},[],{"categories":2025},[208],{"categories":2027},[237],{"categories":2029},[],{"categories":2031},[243],{"categories":2033},[555],{"categories":2035},[],{"categories":2037},[282],{"categories":2039},[282],{"categories":2041},[],{"categories":2043},[291],{"categories":2045},[282],{"categories":2047},[240],{"categories":2049},[],{"categories":2051},[261],{"categories":2053},[240],{"categories":2055},[282],{"categories":2057},[243],{"categories":2059},[261],{"categories":2061},[],{"categories":2063},[243],{"categories":2065},[282],{"categories":2067},[240],{"categories":2069},[],{"categories":2071},[240],{"categories":2073},[240],{"categories":2075},[555],{"categories":2077},[261],{"categories":2079},[208],{"categories":2081},[208],{"categories":2083},[],{"categories":2085},[],{"categories":2087},[],{"categories":2089},[243],{"categories":2091},[291],{"categories":2093},[291],{"categories":2095},[],{"categories":2097},[],{"categories":2099},[240],{"categories":2101},[],{"categories":2103},[243],{"categories":2105},[240],{"categories":2107},[],{"categories":2109},[240],{"categories":2111},[237],{"categories":2113},[240],{"categories":2115},[298],{"categories":2117},[243],{"categories":2119},[240],{"categories":2121},[291],{"categories":2123},[261],{"categories":2125},[243],{"categories":2127},[],{"categories":2129},[261],{"categories":2131},[243],{"categories":2133},[243],{"categories":2135},[],{"categories":2137},[237],{"categories":2139},[243],{"categories":2141},[],{"categories":2143},[240],{"categories":2145},[234],{"categories":2147},[261],{"categories":2149},[555],{"categories":2151},[243],{"categories":2153},[243],{"categories":2155},[234],{"categories":2157},[240],{"categories":2159},[],{"categories":2161},[],{"categories":2163},[282],{"categories":2165},[240,237],{"categories":2167},[],{"categories":2169},[234],{"categories":2171},[208],{"categories":2173},[240],{"categories":2175},[291],{"categories":2177},[240],{"categories":2179},[243],{"categories":2181},[240],{"categories":2183},[240],{"categories":2185},[261],{"categories":2187},[243],{"categories":2189},[],{"categories":2191},[],{"categories":2193},[243],{"categories":2195},[240],{"categories":2197},[555],{"categories":2199},[],{"categories":2201},[240],{"categories":2203},[243],{"categories":2205},[],{"categories":2207},[240],{"categories":2209},[298],{"categories":2211},[208],{"categories":2213},[243],{"categories":2215},[240],{"categories":2217},[555],{"categories":2219},[],{"categories":2221},[240],{"categories":2223},[298],{"categories":2225},[282],{"categories":2227},[240],{"categories":2229},[],{"categories":2231},[298],{"categories":2233},[261],{"categories":2235},[240],{"categories":2237},[240],{"categories":2239},[234],{"categories":2241},[],{"categories":2243},[],{"categories":2245},[282],{"categories":2247},[240],{"categories":2249},[208],{"categories":2251},[298],{"categories":2253},[298],{"categories":2255},[261],{"categories":2257},[],{"categories":2259},[],{"categories":2261},[240],{"categories":2263},[],{"categories":2265},[240,291],{"categories":2267},[261],{"categories":2269},[243],{"categories":2271},[291],{"categories":2273},[240],{"categories":2275},[234],{"categories":2277},[],{"categories":2279},[],{"categories":2281},[234],{"categories":2283},[298],{"categories":2285},[240],{"categories":2287},[],{"categories":2289},[282,240],{"categories":2291},[555],{"categories":2293},[234],{"categories":2295},[],{"categories":2297},[237],{"categories":2299},[237],{"categories":2301},[240],{"categories":2303},[291],{"categories":2305},[243],{"categories":2307},[261],{"categories":2309},[298],{"categories":2311},[282],{"categories":2313},[240],{"categories":2315},[240],{"categories":2317},[240],{"categories":2319},[234],{"categories":2321},[240],{"categories":2323},[243],{"categories":2325},[261],{"categories":2327},[],{"categories":2329},[],{"categories":2331},[208],{"categories":2333},[291],{"categories":2335},[240],{"categories":2337},[282],{"categories":2339},[208],{"categories":2341},[240],{"categories":2343},[240],{"categories":2345},[243],{"categories":2347},[243],{"categories":2349},[240,237],{"categories":2351},[],{"categories":2353},[282],{"categories":2355},[],{"categories":2357},[240],{"categories":2359},[261],{"categories":2361},[234],{"categories":2363},[234],{"categories":2365},[243],{"categories":2367},[240],{"categories":2369},[237],{"categories":2371},[291],{"categories":2373},[298],{"categories":2375},[],{"categories":2377},[261],{"categories":2379},[240],{"categories":2381},[240],{"categories":2383},[261],{"categories":2385},[291],{"categories":2387},[240],{"categories":2389},[243],{"categories":2391},[261],{"categories":2393},[240],{"categories":2395},[282],{"categories":2397},[240],{"categories":2399},[240],{"categories":2401},[555],{"categories":2403},[246],{"categories":2405},[243],{"categories":2407},[240],{"categories":2409},[261],{"categories":2411},[243],{"categories":2413},[298],{"categories":2415},[240],{"categories":2417},[],{"categories":2419},[240],{"categories":2421},[],{"categories":2423},[],{"categories":2425},[],{"categories":2427},[237],{"categories":2429},[240],{"categories":2431},[243],{"categories":2433},[261],{"categories":2435},[261],{"categories":2437},[261],{"categories":2439},[261],{"categories":2441},[],{"categories":2443},[234],{"categories":2445},[243],{"categories":2447},[261],{"categories":2449},[234],{"categories":2451},[243],{"categories":2453},[240],{"categories":2455},[240,243],{"categories":2457},[243],{"categories":2459},[555],{"categories":2461},[261],{"categories":2463},[261],{"categories":2465},[243],{"categories":2467},[240],{"categories":2469},[],{"categories":2471},[261],{"categories":2473},[298],{"categories":2475},[234],{"categories":2477},[240],{"categories":2479},[240],{"categories":2481},[],{"categories":2483},[291],{"categories":2485},[],{"categories":2487},[234],{"categories":2489},[243],{"categories":2491},[261],{"categories":2493},[240],{"categories":2495},[261],{"categories":2497},[234],{"categories":2499},[261],{"categories":2501},[261],{"categories":2503},[],{"categories":2505},[237],{"categories":2507},[243],{"categories":2509},[261],{"categories":2511},[261],{"categories":2513},[261],{"categories":2515},[261],{"categories":2517},[261],{"categories":2519},[261],{"categories":2521},[261],{"categories":2523},[261],{"categories":2525},[261],{"categories":2527},[261],{"categories":2529},[208],{"categories":2531},[234],{"categories":2533},[240],{"categories":2535},[240],{"categories":2537},[],{"categories":2539},[240,234],{"categories":2541},[],{"categories":2543},[243],{"categories":2545},[261],{"categories":2547},[243],{"categories":2549},[240],{"categories":2551},[240],{"categories":2553},[240],{"categories":2555},[240],{"categories":2557},[240],{"categories":2559},[243],{"categories":2561},[237],{"categories":2563},[282],{"categories":2565},[261],{"categories":2567},[240],{"categories":2569},[],{"categories":2571},[],{"categories":2573},[243],{"categories":2575},[282],{"categories":2577},[240],{"categories":2579},[],{"categories":2581},[],{"categories":2583},[298],{"categories":2585},[240],{"categories":2587},[],{"categories":2589},[],{"categories":2591},[234],{"categories":2593},[237],{"categories":2595},[240],{"categories":2597},[237],{"categories":2599},[282],{"categories":2601},[],{"categories":2603},[261],{"categories":2605},[],{"categories":2607},[282],{"categories":2609},[240],{"categories":2611},[298],{"categories":2613},[],{"categories":2615},[298],{"categories":2617},[],{"categories":2619},[],{"categories":2621},[243],{"categories":2623},[],{"categories":2625},[237],{"categories":2627},[234],{"categories":2629},[282],{"categories":2631},[291],{"categories":2633},[],{"categories":2635},[],{"categories":2637},[240],{"categories":2639},[234],{"categories":2641},[298],{"categories":2643},[],{"categories":2645},[243],{"categories":2647},[243],{"categories":2649},[261],{"categories":2651},[240],{"categories":2653},[243],{"categories":2655},[240],{"categories":2657},[243],{"categories":2659},[240],{"categories":2661},[246],{"categories":2663},[261],{"categories":2665},[],{"categories":2667},[298],{"categories":2669},[291],{"categories":2671},[243],{"categories":2673},[],{"categories":2675},[240],{"categories":2677},[243],{"categories":2679},[237],{"categories":2681},[234],{"categories":2683},[240],{"categories":2685},[282],{"categories":2687},[291],{"categories":2689},[291],{"categories":2691},[240],{"categories":2693},[208],{"categories":2695},[240],{"categories":2697},[243],{"categories":2699},[237],{"categories":2701},[243],{"categories":2703},[240],{"categories":2705},[240],{"categories":2707},[243],{"categories":2709},[261],{"categories":2711},[],{"categories":2713},[234],{"categories":2715},[240],{"categories":2717},[243],{"categories":2719},[240],{"categories":2721},[240],{"categories":2723},[],{"categories":2725},[282],{"categories":2727},[237],{"categories":2729},[261],{"categories":2731},[240],{"categories":2733},[240],{"categories":2735},[282],{"categories":2737},[298],{"categories":2739},[208],{"categories":2741},[240],{"categories":2743},[261],{"categories":2745},[240],{"categories":2747},[243],{"categories":2749},[555],{"categories":2751},[240],{"categories":2753},[243],{"categories":2755},[208],{"categories":2757},[],{"categories":2759},[243],{"categories":2761},[291],{"categories":2763},[282],{"categories":2765},[240],{"categories":2767},[234],{"categories":2769},[237],{"categories":2771},[291],{"categories":2773},[],{"categories":2775},[243],{"categories":2777},[240],{"categories":2779},[],{"categories":2781},[261],{"categories":2783},[],{"categories":2785},[261],{"categories":2787},[240],{"categories":2789},[243],{"categories":2791},[243],{"categories":2793},[243],{"categories":2795},[],{"categories":2797},[],{"categories":2799},[240],{"categories":2801},[240],{"categories":2803},[],{"categories":2805},[282],{"categories":2807},[243],{"categories":2809},[298],{"categories":2811},[234],{"categories":2813},[],{"categories":2815},[],{"categories":2817},[261],{"categories":2819},[291],{"categories":2821},[240],{"categories":2823},[240],{"categories":2825},[240],{"categories":2827},[291],{"categories":2829},[261],{"categories":2831},[282],{"categories":2833},[240],{"categories":2835},[240],{"categories":2837},[240],{"categories":2839},[261],{"categories":2841},[240],{"categories":2843},[261],{"categories":2845},[243],{"categories":2847},[243],{"categories":2849},[291],{"categories":2851},[243],{"categories":2853},[240],{"categories":2855},[291],{"categories":2857},[282],{"categories":2859},[],{"categories":2861},[243],{"categories":2863},[],{"categories":2865},[],{"categories":2867},[],{"categories":2869},[237],{"categories":2871},[240],{"categories":2873},[243],{"categories":2875},[234],{"categories":2877},[243],{"categories":2879},[298],{"categories":2881},[],{"categories":2883},[243],{"categories":2885},[],{"categories":2887},[234],{"categories":2889},[243],{"categories":2891},[],{"categories":2893},[243],{"categories":2895},[240],{"categories":2897},[261],{"categories":2899},[240],{"categories":2901},[243],{"categories":2903},[261],{"categories":2905},[243],{"categories":2907},[291],{"categories":2909},[282],{"categories":2911},[234],{"categories":2913},[],{"categories":2915},[243],{"categories":2917},[282],{"categories":2919},[555],{"categories":2921},[261],{"categories":2923},[240],{"categories":2925},[282],{"categories":2927},[234],{"categories":2929},[],{"categories":2931},[243],{"categories":2933},[243],{"categories":2935},[240],{"categories":2937},[],{"categories":2939},[243],{"categories":2941},[246],{"categories":2943},[261],{"categories":2945},[243],{"categories":2947},[237],{"categories":2949},[],{"categories":2951},[240],{"categories":2953},[246],{"categories":2955},[240],{"categories":2957},[243],{"categories":2959},[261],{"categories":2961},[234],{"categories":2963},[555],{"categories":2965},[240],{"categories":2967},[240],{"categories":2969},[240],{"categories":2971},[261],{"categories":2973},[237],{"categories":2975},[240],{"categories":2977},[282],{"categories":2979},[261],{"categories":2981},[555],{"categories":2983},[240],{"categories":2985},[],{"categories":2987},[],{"categories":2989},[555],{"categories":2991},[208],{"categories":2993},[243],{"categories":2995},[243],{"categories":2997},[261],{"categories":2999},[240],{"categories":3001},[234],{"categories":3003},[282],{"categories":3005},[243],{"categories":3007},[240],{"categories":3009},[298],{"categories":3011},[240],{"categories":3013},[243],{"categories":3015},[],{"categories":3017},[240],{"categories":3019},[240],{"categories":3021},[261],{"categories":3023},[234],{"categories":3025},[],{"categories":3027},[240],{"categories":3029},[240],{"categories":3031},[291],{"categories":3033},[282],{"categories":3035},[240,243],{"categories":3037},[298,237],{"categories":3039},[240],{"categories":3041},[],{"categories":3043},[243],{"categories":3045},[],{"categories":3047},[291],{"categories":3049},[240],{"categories":3051},[261],{"categories":3053},[],{"categories":3055},[243],{"categories":3057},[],{"categories":3059},[282],{"categories":3061},[243],{"categories":3063},[234],{"categories":3065},[243],{"categories":3067},[240],{"categories":3069},[555],{"categories":3071},[298],{"categories":3073},[237],{"categories":3075},[237],{"categories":3077},[234],{"categories":3079},[234],{"categories":3081},[240],{"categories":3083},[243],{"categories":3085},[240],{"categories":3087},[240],{"categories":3089},[234],{"categories":3091},[240],{"categories":3093},[298],{"categories":3095},[261],{"categories":3097},[240],{"categories":3099},[243],{"categories":3101},[240],{"categories":3103},[],{"categories":3105},[291],{"categories":3107},[],{"categories":3109},[243],{"categories":3111},[234],{"categories":3113},[],{"categories":3115},[555],{"categories":3117},[240],{"categories":3119},[],{"categories":3121},[261],{"categories":3123},[243],{"categories":3125},[291],{"categories":3127},[240],{"categories":3129},[243],{"categories":3131},[291],{"categories":3133},[243],{"categories":3135},[261],{"categories":3137},[234],{"categories":3139},[261],{"categories":3141},[291],{"categories":3143},[240],{"categories":3145},[282],{"categories":3147},[240],{"categories":3149},[240],{"categories":3151},[240],{"categories":3153},[240],{"categories":3155},[243],{"categories":3157},[240],{"categories":3159},[243],{"categories":3161},[240],{"categories":3163},[234],{"categories":3165},[240],{"categories":3167},[243],{"categories":3169},[282],{"categories":3171},[234],{"categories":3173},[243],{"categories":3175},[282],{"categories":3177},[],{"categories":3179},[240],{"categories":3181},[240],{"categories":3183},[291],{"categories":3185},[],{"categories":3187},[243],{"categories":3189},[298],{"categories":3191},[240],{"categories":3193},[261],{"categories":3195},[298],{"categories":3197},[243],{"categories":3199},[237],{"categories":3201},[237],{"categories":3203},[240],{"categories":3205},[234],{"categories":3207},[],{"categories":3209},[240],{"categories":3211},[],{"categories":3213},[234],{"categories":3215},[240],{"categories":3217},[243],{"categories":3219},[243],{"categories":3221},[],{"categories":3223},[291],{"categories":3225},[291],{"categories":3227},[298],{"categories":3229},[282],{"categories":3231},[],{"categories":3233},[240],{"categories":3235},[234],{"categories":3237},[240],{"categories":3239},[291],{"categories":3241},[234],{"categories":3243},[261],{"categories":3245},[261],{"categories":3247},[],{"categories":3249},[261],{"categories":3251},[243],{"categories":3253},[282],{"categories":3255},[208],{"categories":3257},[240],{"categories":3259},[],{"categories":3261},[261],{"categories":3263},[291],{"categories":3265},[237],{"categories":3267},[240],{"categories":3269},[234],{"categories":3271},[555],{"categories":3273},[234],{"categories":3275},[],{"categories":3277},[],{"categories":3279},[261],{"categories":3281},[],{"categories":3283},[243],{"categories":3285},[243],{"categories":3287},[243],{"categories":3289},[],{"categories":3291},[240],{"categories":3293},[],{"categories":3295},[261],{"categories":3297},[234],{"categories":3299},[282],{"categories":3301},[240],{"categories":3303},[261],{"categories":3305},[261],{"categories":3307},[],{"categories":3309},[261],{"categories":3311},[234],{"categories":3313},[240],{"categories":3315},[],{"categories":3317},[243],{"categories":3319},[243],{"categories":3321},[234],{"categories":3323},[],{"categories":3325},[],{"categories":3327},[],{"categories":3329},[282],{"categories":3331},[243],{"categories":3333},[240],{"categories":3335},[],{"categories":3337},[],{"categories":3339},[],{"categories":3341},[282],{"categories":3343},[],{"categories":3345},[234],{"categories":3347},[],{"categories":3349},[],{"categories":3351},[282],{"categories":3353},[240],{"categories":3355},[261],{"categories":3357},[],{"categories":3359},[298],{"categories":3361},[261],{"categories":3363},[298],{"categories":3365},[240],{"categories":3367},[],{"categories":3369},[],{"categories":3371},[243],{"categories":3373},[],{"categories":3375},[],{"categories":3377},[243],{"categories":3379},[240],{"categories":3381},[],{"categories":3383},[243],{"categories":3385},[261],{"categories":3387},[298],{"categories":3389},[208],{"categories":3391},[243],{"categories":3393},[243],{"categories":3395},[],{"categories":3397},[],{"categories":3399},[],{"categories":3401},[261],{"categories":3403},[],{"categories":3405},[],{"categories":3407},[282],{"categories":3409},[234],{"categories":3411},[],{"categories":3413},[237],{"categories":3415},[298],{"categories":3417},[240],{"categories":3419},[291],{"categories":3421},[234],{"categories":3423},[208],{"categories":3425},[237],{"categories":3427},[291],{"categories":3429},[],{"categories":3431},[],{"categories":3433},[243],{"categories":3435},[234],{"categories":3437},[282],{"categories":3439},[234],{"categories":3441},[243],{"categories":3443},[555],{"categories":3445},[243],{"categories":3447},[],{"categories":3449},[240],{"categories":3451},[261],{"categories":3453},[291],{"categories":3455},[],{"categories":3457},[282],{"categories":3459},[261],{"categories":3461},[234],{"categories":3463},[243],{"categories":3465},[240],{"categories":3467},[237],{"categories":3469},[243,555],{"categories":3471},[243],{"categories":3473},[291],{"categories":3475},[240],{"categories":3477},[208],{"categories":3479},[298],{"categories":3481},[243],{"categories":3483},[],{"categories":3485},[243],{"categories":3487},[240],{"categories":3489},[237],{"categories":3491},[],{"categories":3493},[],{"categories":3495},[240],{"categories":3497},[208],{"categories":3499},[240],{"categories":3501},[],{"categories":3503},[261],{"categories":3505},[],{"categories":3507},[261],{"categories":3509},[291],{"categories":3511},[243],{"categories":3513},[240],{"categories":3515},[298],{"categories":3517},[291],{"categories":3519},[],{"categories":3521},[261],{"categories":3523},[240],{"categories":3525},[],{"categories":3527},[240],{"categories":3529},[243],{"categories":3531},[240],{"categories":3533},[243],{"categories":3535},[240],{"categories":3537},[240],{"categories":3539},[240],{"categories":3541},[240],{"categories":3543},[237],{"categories":3545},[],{"categories":3547},[246],{"categories":3549},[261],{"categories":3551},[240],{"categories":3553},[],{"categories":3555},[291],{"categories":3557},[240],{"categories":3559},[240],{"categories":3561},[243],{"categories":3563},[261],{"categories":3565},[240],{"categories":3567},[240],{"categories":3569},[237],{"categories":3571},[243],{"categories":3573},[282],{"categories":3575},[],{"categories":3577},[208],{"categories":3579},[240],{"categories":3581},[],{"categories":3583},[261],{"categories":3585},[298],{"categories":3587},[],{"categories":3589},[],{"categories":3591},[261],{"categories":3593},[261],{"categories":3595},[298],{"categories":3597},[234],{"categories":3599},[243],{"categories":3601},[243],{"categories":3603},[240],{"categories":3605},[237],{"categories":3607},[],{"categories":3609},[],{"categories":3611},[261],{"categories":3613},[208],{"categories":3615},[291],{"categories":3617},[243],{"categories":3619},[282],{"categories":3621},[208],{"categories":3623},[208],{"categories":3625},[],{"categories":3627},[261],{"categories":3629},[240],{"categories":3631},[240],{"categories":3633},[291],{"categories":3635},[],{"categories":3637},[261],{"categories":3639},[261],{"categories":3641},[261],{"categories":3643},[],{"categories":3645},[243],{"categories":3647},[240],{"categories":3649},[],{"categories":3651},[234],{"categories":3653},[237],{"categories":3655},[],{"categories":3657},[240],{"categories":3659},[240],{"categories":3661},[],{"categories":3663},[291],{"categories":3665},[],{"categories":3667},[],{"categories":3669},[],{"categories":3671},[],{"categories":3673},[240],{"categories":3675},[261],{"categories":3677},[],{"categories":3679},[],{"categories":3681},[240],{"categories":3683},[240],{"categories":3685},[240],{"categories":3687},[208],{"categories":3689},[240],{"categories":3691},[208],{"categories":3693},[],{"categories":3695},[208],{"categories":3697},[208],{"categories":3699},[555],{"categories":3701},[243],{"categories":3703},[291],{"categories":3705},[],{"categories":3707},[],{"categories":3709},[208],{"categories":3711},[291],{"categories":3713},[291],{"categories":3715},[291],{"categories":3717},[],{"categories":3719},[234],{"categories":3721},[291],{"categories":3723},[291],{"categories":3725},[234],{"categories":3727},[291],{"categories":3729},[237],{"categories":3731},[291],{"categories":3733},[291],{"categories":3735},[291],{"categories":3737},[208],{"categories":3739},[261],{"categories":3741},[261],{"categories":3743},[240],{"categories":3745},[291],{"categories":3747},[208],{"categories":3749},[555],{"categories":3751},[208],{"categories":3753},[208],{"categories":3755},[208],{"categories":3757},[],{"categories":3759},[237],{"categories":3761},[],{"categories":3763},[555],{"categories":3765},[291],{"categories":3767},[291],{"categories":3769},[291],{"categories":3771},[243],{"categories":3773},[261,237],{"categories":3775},[208],{"categories":3777},[],{"categories":3779},[],{"categories":3781},[208],{"categories":3783},[],{"categories":3785},[208],{"categories":3787},[261],{"categories":3789},[243],{"categories":3791},[],{"categories":3793},[291],{"categories":3795},[240],{"categories":3797},[282],{"categories":3799},[],{"categories":3801},[240],{"categories":3803},[],{"categories":3805},[261],{"categories":3807},[234],{"categories":3809},[208],{"categories":3811},[],{"categories":3813},[291],{"categories":3815},[261],[3817,3893,4119,4362],{"id":3818,"title":3819,"ai":3820,"body":3825,"categories":3861,"created_at":209,"date_modified":209,"description":200,"extension":210,"faq":209,"featured":211,"kicker_label":209,"meta":3862,"navigation":213,"path":3881,"published_at":3882,"question":209,"scraped_at":3883,"seo":3884,"sitemap":3885,"source_id":3886,"source_name":219,"source_type":220,"source_url":3887,"stem":3888,"tags":3889,"thumbnail_url":209,"tldr":3890,"tweet":209,"unknown_tags":3891,"__hash__":3892},"summaries\u002Fsummaries\u002F6e4b4d5944c58d66-etl-pipeline-turns-messy-hr-data-into-star-schema--summary.md","ETL Pipeline Turns Messy HR Data into Star Schema Insights",{"provider":7,"model":8,"input_tokens":3821,"output_tokens":3822,"processing_time_ms":3823,"cost_usd":3824},7468,1638,25555,0.0022901,{"type":14,"value":3826,"toc":3855},[3827,3831,3834,3838,3841,3845,3848,3852],[17,3828,3830],{"id":3829},"restructure-flat-data-into-star-schema-for-efficient-analysis","Restructure Flat Data into Star Schema for Efficient Analysis",[22,3832,3833],{},"Raw HR datasets arrive as wide, redundant tables that slow queries and complicate scaling. Transform them into a star schema: one central fact table for employee records (EmpID, Age, tenure_years, is_attrition, foreign keys like department_id) surrounded by dimension tables (department, position, salary with qcut-segmented levels: Low\u002FMedium\u002FHigh for equal distribution groups). This reduces redundancy, speeds queries, and adds business meaning—e.g., salary_level enables quick counts of high-salary employees. Use pd.read_csv for extraction, then merge unique values back with surrogate keys (index + 1) to link facts to dimensions, creating maintainable analytical workloads over monolithic tables.",[17,3835,3837],{"id":3836},"clean-and-engineer-features-robustly-from-unreliable-raw-data","Clean and Engineer Features Robustly from Unreliable Raw Data",[22,3839,3840],{},"Don't trust provided fields—derive them. Strip column whitespace to prevent code breaks. Convert strings to datetime with errors='coerce' for DateofHire, DateofTermination, DOB (format='%m\u002F%d\u002F%y'). Compute Age as (today - DOB).days \u002F\u002F 365, tenure_years as (today - DateofHire).days \u002F 365, is_attrition as DateofTermination.notna(), is_active as opposite. Fill missing Salary and Age with medians (outlier-resistant over means). These steps turn inconsistent inputs into reliable features for downstream analysis and ML, emphasizing derivation over assumption.",[17,3842,3844],{"id":3843},"extract-actionable-hr-insights-post-transformation","Extract Actionable HR Insights Post-Transformation",[22,3846,3847],{},"Query structured data reveals: Managers show no strong performance impact—most employees rate 'Fully Meets' across leaders, with minor 'Exceeds' variations (e.g., Ketsia Liebig, Brandon Miller) and rare 'PIP\u002FNeeds Improvement'. Diversity: 60% White, 26% Black\u002FAfrican American, 9% Asian; gender balanced at 56.6% female vs. 43.4% male. Recruitment: Diversity Job Fair yields 100% Black hires; Indeed\u002FLinkedIn balanced; Google Search varied but White-dominant; avoid Online Web Application\u002FOther (100% White). Stacked crosstabs and countplots highlight channels driving diversity, prioritizing targeted sources over uniform ones.",[17,3849,3851],{"id":3850},"predict-attrition-at-71-accuracy-with-key-drivers-identified","Predict Attrition at 71% Accuracy with Key Drivers Identified",[22,3853,3854],{},"Leverage cleaned fact table merges (absences, salary dims) for RandomForestClassifier on age, tenure_years, absences, Salary (filled medians). Train\u002Ftest split (80\u002F20) yields 71% accuracy, 59% precision\u002Frecall for attrition (confusion: 32 true stay, 13 true leave, 9 misses each). Feature importances: tenure (47%), Salary (23%), absences moderate, age lowest—focus retention on long-tenured, low-salary employees with absences to cut churn.",{"title":200,"searchDepth":201,"depth":201,"links":3856},[3857,3858,3859,3860],{"id":3829,"depth":201,"text":3830},{"id":3836,"depth":201,"text":3837},{"id":3843,"depth":201,"text":3844},{"id":3850,"depth":201,"text":3851},[208],{"content_references":3863,"triage":3875},[3864,3870],{"type":3865,"title":3866,"author":3867,"url":3868,"context":3869},"dataset","Human Resources Data Set","rhuebner","https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Frhuebner\u002Fhuman-resources-data-set","mentioned",{"type":3871,"title":3872,"author":3873,"url":3874,"context":3869},"other","ETL-HR-Analytics-Project","jihanKamilah","https:\u002F\u002Fgithub.com\u002FjihanKamilah\u002FETL-HR-Analytics-Project",{"relevance":3876,"novelty":3877,"quality":3878,"actionability":3878,"composite":3879,"reasoning":3880},5,3,4,4.15,"Category: Data Science & Visualization. The article provides a detailed guide on building an ETL pipeline to transform messy HR data into a star schema, addressing practical applications for data analysis, which is highly relevant for product builders. It includes specific techniques for data cleaning and feature engineering, making it actionable for the audience.","\u002Fsummaries\u002F6e4b4d5944c58d66-etl-pipeline-turns-messy-hr-data-into-star-schema-summary","2026-04-29 17:03:37","2026-05-03 17:01:04",{"title":3819,"description":200},{"loc":3881},"6e4b4d5944c58d66","https:\u002F\u002Fmedium.com\u002Flearning-data\u002Fthis-is-what-real-data-looks-like-and-how-i-turned-it-into-insights-3d520e7da561?source=rss----eec44e936bf1---4","summaries\u002F6e4b4d5944c58d66-etl-pipeline-turns-messy-hr-data-into-star-schema--summary",[224,227,225,226],"Build a scalable ETL pipeline to restructure flat HR data into a star schema fact\u002Fdimension tables, enabling analysis of manager performance, diversity (60% White, 56.6% female), recruitment channels, and 71% accurate attrition prediction where tenure drives 47% of decisions.",[],"rPkakR-BHVER_oBhsIaiuBEJmjCsAOdztx4oKVnyBwY",{"id":3894,"title":3895,"ai":3896,"body":3901,"categories":4093,"created_at":209,"date_modified":209,"description":200,"extension":210,"faq":209,"featured":211,"kicker_label":209,"meta":4094,"navigation":213,"path":4106,"published_at":4107,"question":209,"scraped_at":4108,"seo":4109,"sitemap":4110,"source_id":4111,"source_name":4112,"source_type":220,"source_url":4113,"stem":4114,"tags":4115,"thumbnail_url":209,"tldr":4116,"tweet":209,"unknown_tags":4117,"__hash__":4118},"summaries\u002Fsummaries\u002Fff126f8e0954389e-skfolio-build-tune-portfolio-optimizers-in-python-summary.md","skfolio: Build & Tune Portfolio Optimizers in Python",{"provider":7,"model":8,"input_tokens":3897,"output_tokens":3898,"processing_time_ms":3899,"cost_usd":3900},9292,2519,30098,0.00309525,{"type":14,"value":3902,"toc":4087},[3903,3907,3937,3941,3990,3994,4059,4063],[17,3904,3906],{"id":3905},"data-prep-and-baseline-benchmarks-deliver-quick-wins","Data Prep and Baseline Benchmarks Deliver Quick Wins",[22,3908,3909,3910,3913,3914,3917,3918,3921,3922,129,3925,3928,3929,3932,3933,3936],{},"Load S&P 500 prices via ",[26,3911,3912],{},"skfolio.datasets.load_sp500_dataset()",", convert to returns with ",[26,3915,3916],{},"prices_to_returns()",", and split chronologically (",[26,3919,3920],{},"train_test_split(shuffle=False, test_size=0.33)",") to prevent look-ahead bias—training spans ~67% historical days, testing the rest. Baselines like ",[26,3923,3924],{},"EqualWeighted()",[26,3926,3927],{},"InverseVolatility()",", and ",[26,3930,3931],{},"Random()"," fit on train, predict on test, yielding metrics like annualized Sharpe (printed via ",[26,3934,3935],{},"ptf.annualized_sharpe_ratio","), mean return, and volatility. These expose naive strategies' flaws: equal-weight ignores volatility, random adds noise—use them to benchmark any optimizer.",[17,3938,3940],{"id":3939},"mean-variance-risk-measures-and-clustering-beat-baselines","Mean-Variance, Risk Measures, and Clustering Beat Baselines",[22,3942,3943,3946,3947,3950,3951,3954,3955,3958,3959,129,3962,3965,3966,3969,3970,3973,3974,3977,3978,3981,3982,3985,3986,3989],{},[26,3944,3945],{},"MeanRisk(risk_measure=RiskMeasure.VARIANCE)"," minimizes variance or maximizes Sharpe (",[26,3948,3949],{},"ObjectiveFunction.MAXIMIZE_RATIO","), generating efficient frontiers (",[26,3952,3953],{},"efficient_frontier_size=20",") plotted by risk vs. Sharpe. Swap risks to ",[26,3956,3957],{},"CVaR"," (95%), ",[26,3960,3961],{},"SEMI_VARIANCE",[26,3963,3964],{},"CDAR",", or ",[26,3967,3968],{},"MAX_DRAWDOWN"," for tail-focused portfolios that cut CVaR@95% and max drawdown vs. variance. ",[26,3971,3972],{},"RiskBudgeting()"," equalizes contributions (variance or CVaR). Hierarchical methods shine: ",[26,3975,3976],{},"HierarchicalRiskParity()"," clusters assets via dendrograms for stable weights; ",[26,3979,3980],{},"NestedClustersOptimization()"," nests ",[26,3983,3984],{},"MeanRisk(CVAR)"," inside ",[26,3987,3988],{},"RiskBudgeting(VARIANCE)"," with 5-fold CV, capturing correlations without covariance pitfalls.",[17,3991,3993],{"id":3992},"robust-priors-constraints-and-views-stabilize-real-world-use","Robust Priors, Constraints, and Views Stabilize Real-World Use",[22,3995,3996,3997,4000,4001,4004,4005,129,4008,129,4011,3965,4014,4017,4018,4021,4022,129,4025,129,4028,129,4031,4034,4035,4038,4039,4042,4043,4046,4047,4050,4051,4054,4055,4058],{},"Replace ",[26,3998,3999],{},"EmpiricalCovariance()","\u002F",[26,4002,4003],{},"EmpiricalMu()"," with ",[26,4006,4007],{},"DenoiseCovariance()",[26,4009,4010],{},"ShrunkMu()",[26,4012,4013],{},"GerberCovariance()",[26,4015,4016],{},"EWMu(alpha=0.1)"," in ",[26,4019,4020],{},"EmpiricalPrior()"," for max-Sharpe portfolios resilient to estimation error. Add realism via ",[26,4023,4024],{},"min_weights=0.0",[26,4026,4027],{},"max_weights=0.20",[26,4029,4030],{},"transaction_costs=0.0005",[26,4032,4033],{},"groups"," (e.g., GroupA \u003C=0.6, GroupB>=0.2), ",[26,4036,4037],{},"l2_coef=0.01",". ",[26,4040,4041],{},"BlackLitterman(views=[\"AAPL == 0.0008\", \"JPM - BAC == 0.0002\"])"," blends market priors with views. ",[26,4044,4045],{},"FactorModel()"," on ",[26,4048,4049],{},"load_factors_dataset()"," explains returns via external factors, boosting Sharpe. Pipelines like ",[26,4052,4053],{},"SelectKExtremes(k=8)"," + ",[26,4056,4057],{},"MeanRisk()"," prune to top performers.",[17,4060,4062],{"id":4061},"walk-forward-cv-and-tuning-ensure-out-of-sample-performance","Walk-Forward CV and Tuning Ensure Out-of-Sample Performance",[22,4064,4065,4004,4068,4071,4072,4075,4076,29,4079,4082,4083,4086],{},[26,4066,4067],{},"cross_val_predict()",[26,4069,4070],{},"WalkForward(train_size=252*2, test_size=63)"," simulates rolling 2-year trains\u002F3-month tests, computing portfolio Sharpe\u002FCalmar. ",[26,4073,4074],{},"GridSearchCV()"," tunes ",[26,4077,4078],{},"l2_coef=[0.0,0.01,0.1]",[26,4080,4081],{},"mu_estimator__alpha=[0.05,0.1,0.2,0.5]"," on max-Sharpe, selecting best CV Sharpe. Final ",[26,4084,4085],{},"Population()"," of 18 strategies compares annualized mean\u002Fvol\u002FSharpe\u002FSortino\u002FCVaR@95%\u002Fdrawdowns (sorted by test Sharpe), with plots for cumulative returns, weights, risk contributions—revealing hierarchical\u002Frisk-parity often top variance-based in stability.",{"title":200,"searchDepth":201,"depth":201,"links":4088},[4089,4090,4091,4092],{"id":3905,"depth":201,"text":3906},{"id":3939,"depth":201,"text":3940},{"id":3992,"depth":201,"text":3993},{"id":4061,"depth":201,"text":4062},[208],{"content_references":4095,"triage":4103},[4096,4100],{"type":4097,"title":4098,"url":4099,"context":3869},"tool","skfolio","https:\u002F\u002Fgithub.com\u002Fskfolio\u002Fskfolio",{"type":3871,"title":4101,"url":4102,"context":3869},"Full Codes","https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FData%20Science\u002Fportfolio_optimization_with_skfolio_Marktechpost.ipynb",{"relevance":3877,"novelty":3877,"quality":3878,"actionability":3878,"composite":4104,"reasoning":4105},3.45,"Category: Data Science & Visualization. The article provides a practical guide on using the skfolio library for portfolio optimization, which aligns with the audience's interest in actionable AI and data science tools. It includes specific code examples and methodologies that can be directly applied, making it useful for developers looking to implement AI in financial products.","\u002Fsummaries\u002Fff126f8e0954389e-skfolio-build-tune-portfolio-optimizers-in-python-summary","2026-05-12 07:05:02","2026-05-12 15:01:25",{"title":3895,"description":200},{"loc":4106},"ff126f8e0954389e","MarkTechPost","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F12\u002Fa-coding-implementation-to-portfolio-optimization-with-skfolio-for-building-testing-tuning-and-comparing-modern-investment-strategies\u002F","summaries\u002Fff126f8e0954389e-skfolio-build-tune-portfolio-optimizers-in-python-summary",[226,224,227],"skfolio's scikit-learn API lets you construct, validate, and compare 18+ portfolio strategies—from baselines to HRP, Black-Litterman, factors, and tuned models—on S&P 500 returns with walk-forward CV and GridSearchCV.",[],"s9QUFNF_HWzNZV61Dh6PEETN3C3-K3FsZalb0rd3HRQ",{"id":4120,"title":4121,"ai":4122,"body":4127,"categories":4333,"created_at":209,"date_modified":209,"description":200,"extension":210,"faq":209,"featured":211,"kicker_label":209,"meta":4334,"navigation":213,"path":4350,"published_at":4351,"question":209,"scraped_at":4352,"seo":4353,"sitemap":4354,"source_id":4355,"source_name":4112,"source_type":220,"source_url":4356,"stem":4357,"tags":4358,"thumbnail_url":209,"tldr":4359,"tweet":209,"unknown_tags":4360,"__hash__":4361},"summaries\u002Fsummaries\u002Fa59df2d47dafe018-scanpy-pipeline-for-pbmc-scrna-seq-clustering-traj-summary.md","Scanpy Pipeline for PBMC scRNA-seq Clustering & Trajectories",{"provider":7,"model":8,"input_tokens":4123,"output_tokens":4124,"processing_time_ms":4125,"cost_usd":4126},9209,2235,26831,0.0029368,{"type":14,"value":4128,"toc":4327},[4129,4133,4165,4191,4195,4217,4233,4237,4260,4278,4282,4313],[17,4130,4132],{"id":4131},"rigorous-qc-and-filtering-removes-noise-for-reliable-downstream-analysis","Rigorous QC and Filtering Removes Noise for Reliable Downstream Analysis",[22,4134,4135,4136,4139,4140,4143,4144,4147,4148,4151,4152,4155,4156,129,4159,129,4162,4164],{},"Load PBMC-3k via ",[26,4137,4138],{},"sc.datasets.pbmc3k()"," (2700 cells, ~2k genes\u002Fcell). Compute QC metrics for mitochondrial (",[26,4141,4142],{},"MT-"," prefix, filter \u003C5% ",[26,4145,4146],{},"pct_counts_mt",") and ribosomal (",[26,4149,4150],{},"RPS\u002FRPL",") genes using ",[26,4153,4154],{},"sc.pp.calculate_qc_metrics",". Visualize with violin plots (",[26,4157,4158],{},"n_genes_by_counts",[26,4160,4161],{},"total_counts",[26,4163,4146],{},") and scatters to spot outliers.",[22,4166,4167,4168,129,4171,4174,4175,4178,4179,4182,4183,4186,4187,4190],{},"Filter: ",[26,4169,4170],{},"min_genes=200",[26,4172,4173],{},"min_cells=3",", upper ",[26,4176,4177],{},"n_genes_by_counts \u003C2500",". Detect doublets via ",[26,4180,4181],{},"sc.pp.scrublet"," (removes ~sum of ",[26,4184,4185],{},"predicted_doublet","). Preserve raw in ",[26,4188,4189],{},"layers[\"counts\"]",". This yields cleaner data, preventing artifacts in clustering.",[17,4192,4194],{"id":4193},"normalization-hvgs-and-cell-cycle-correction-focus-on-biological-signal","Normalization, HVGs, and Cell-Cycle Correction Focus on Biological Signal",[22,4196,4197,4198,4201,4202,4205,4206,4209,4210,4213,4214,60],{},"Normalize to 10k counts (",[26,4199,4200],{},"sc.pp.normalize_total(target_sum=1e4)","), log-transform (",[26,4203,4204],{},"sc.pp.log1p","). Identify highly variable genes (",[26,4207,4208],{},"sc.pp.highly_variable_genes(min_mean=0.0125, max_mean=3, min_disp=0.5)","), subset to them (",[26,4211,4212],{},"adata = adata[:, adata.var.highly_variable]","). Store raw in ",[26,4215,4216],{},"adata.raw",[22,4218,4219,4220,129,4222,4224,4225,4228,4229,4232],{},"Score S\u002FG2M phases with 40+ predefined markers (e.g., S: MCM5,PCNA; G2M: HMGB2,CDK1, filter to dataset genes). Regress out ",[26,4221,4161],{},[26,4223,4146],{}," (",[26,4226,4227],{},"sc.pp.regress_out","). Scale (",[26,4230,4231],{},"sc.pp.scale(max_value=10)","). These steps isolate biological variance, regressing technical noise for accurate modeling.",[17,4234,4236],{"id":4235},"dimensionality-reduction-leiden-clustering-and-marker-based-annotation-reveals-cell-types","Dimensionality Reduction, Leiden Clustering, and Marker-Based Annotation Reveals Cell Types",[22,4238,4239,4240,4243,4244,4247,4248,4251,4252,4255,4256,4259],{},"PCA (",[26,4241,4242],{},"sc.tl.pca(svd_solver=\"arpack\")",", check ",[26,4245,4246],{},"n_pcs=50"," variance). Neighbors (",[26,4249,4250],{},"sc.pp.neighbors(n_neighbors=10, n_pcs=40)","). Embeddings: UMAP (",[26,4253,4254],{},"sc.tl.umap","), t-SNE (",[26,4257,4258],{},"sc.tl.tsne(n_pcs=40)",").",[22,4261,4262,4263,4266,4267,4270,4271,129,4274,4277],{},"Cluster with Leiden (",[26,4264,4265],{},"sc.tl.leiden(resolution=0.5, flavor=\"igraph\", n_iterations=2)","). Rank markers (",[26,4268,4269],{},"sc.tl.rank_genes_groups(method=\"wilcoxon\")",", top 10\u002Fcluster via Wilcoxon). Annotate using PBMC markers: B-cell (CD79A,MS4A1), CD8 T (CD8A,CD8B), CD4 T (IL7R,CD4), NK (GNLY,NKG7), CD14 Mono (CD14,LYZ), FCGR3A Mono (FCGR3A,MS4A7), Dendritic (FCER1A,CST3), Mega (PPBP). Confirm via ",[26,4272,4273],{},"sc.pl.dotplot",[26,4275,4276],{},"sc.pl.stacked_violin(groupby=\"leiden\")",". Visualizes 8-9 clusters matching immune subsets.",[17,4279,4281],{"id":4280},"paga-trajectories-pseudotime-and-custom-scores-enable-developmental-insights","PAGA Trajectories, Pseudotime, and Custom Scores Enable Developmental Insights",[22,4283,4284,4285,4288,4289,4292,4293,4296,4297,4300,4301,4304,4305,4308,4309,4312],{},"Graph-based trajectories: ",[26,4286,4287],{},"sc.tl.paga(groups=\"leiden\")",", threshold=0.1, init UMAP (",[26,4290,4291],{},"sc.tl.umap(init_pos=\"paga\")","). Diffusion maps (",[26,4294,4295],{},"sc.tl.diffmap","), recompute neighbors on ",[26,4298,4299],{},"X_diffmap",", root at cluster 0 (",[26,4302,4303],{},"adata.uns[\"iroot\"]","), pseudotime (",[26,4306,4307],{},"sc.tl.dpt","). Plot ",[26,4310,4311],{},"dpt_pseudotime"," on UMAP.",[22,4314,4315,4316,129,4319,4322,4323,4326],{},"Custom score: IFN-response genes (ISG15,IFI6,IFIT1,IFIT3,MX1,OAS1,STAT1,IRF7) via ",[26,4317,4318],{},"sc.tl.score_genes(score_name=\"IFN_score\")",[26,4320,4321],{},"cmap=\"viridis\"",". Save full AnnData (",[26,4324,4325],{},"adata.write(\"pbmc3k_analyzed.h5ad\")",") with embeddings, clusters, scores for reuse. Extends basic clustering to infer progression and response states.",{"title":200,"searchDepth":201,"depth":201,"links":4328},[4329,4330,4331,4332],{"id":4131,"depth":201,"text":4132},{"id":4193,"depth":201,"text":4194},{"id":4235,"depth":201,"text":4236},{"id":4280,"depth":201,"text":4281},[208],{"content_references":4335,"triage":4347},[4336,4339,4341,4343],{"type":4097,"title":4337,"url":4338,"context":3869},"Scanpy","https:\u002F\u002Fgithub.com\u002Fscverse\u002Fscanpy",{"type":3865,"title":4340,"context":3869},"PBMC-3k",{"type":4097,"title":4342,"context":3869},"Scrublet",{"type":3871,"title":4344,"url":4345,"context":4346},"Full Codes with Notebook","https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FData%20Science\u002Fscanpy_pbmc3k_single_cell_rnaseq_analysis_Marktechpost.ipynb","recommended",{"relevance":3877,"novelty":201,"quality":3878,"actionability":3877,"composite":4348,"reasoning":4349},3.05,"Category: Data Science & Visualization. The article provides a detailed overview of building a single-cell RNA-seq analysis pipeline using Scanpy, which is relevant for data scientists working with biological data. However, it primarily focuses on a specific use case without broader implications or insights that could apply to a wider audience.","\u002Fsummaries\u002Fa59df2d47dafe018-scanpy-pipeline-for-pbmc-scrna-seq-clustering-traj-summary","2026-05-08 21:32:12","2026-05-09 15:37:24",{"title":4121,"description":200},{"loc":4350},"a59df2d47dafe018","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F08\u002Fhow-to-build-a-single-cell-rna-seq-analysis-pipeline-with-scanpy-for-pbmc-clustering-annotation-and-trajectory-discovery\u002F","summaries\u002Fa59df2d47dafe018-scanpy-pipeline-for-pbmc-scrna-seq-clustering-traj-summary",[224,227,226],"Process PBMC-3k data with Scanpy: filter cells (min 200 genes, \u003C2500 genes, \u003C5% mt), remove Scrublet doublets, select HVGs (min_mean=0.0125, max_mean=3, min_disp=0.5), Leiden cluster at res=0.5, annotate via markers, infer PAGA\u002FDPT trajectories, score IFN response.",[],"jTCku7xsp8M-LiBcwiNLzHzB68G5RjE-UBMIb_cET-c",{"id":4363,"title":4364,"ai":4365,"body":4370,"categories":4631,"created_at":209,"date_modified":209,"description":200,"extension":210,"faq":209,"featured":211,"kicker_label":209,"meta":4632,"navigation":213,"path":4640,"published_at":4641,"question":209,"scraped_at":4642,"seo":4643,"sitemap":4644,"source_id":4645,"source_name":4112,"source_type":220,"source_url":4646,"stem":4647,"tags":4648,"thumbnail_url":209,"tldr":4649,"tweet":209,"unknown_tags":4650,"__hash__":4651},"summaries\u002Fsummaries\u002Fe3a7d313e4f27d00-momentum-dampens-gd-zigzags-via-gradient-averaging-summary.md","Momentum Dampens GD Zigzags via Gradient Averaging",{"provider":7,"model":8,"input_tokens":4366,"output_tokens":4367,"processing_time_ms":4368,"cost_usd":4369},8869,1948,36530,0.0027253,{"type":14,"value":4371,"toc":4626},[4372,4376,4392,4395,4447,4450,4454,4460,4470,4473,4525,4528,4532,4539,4615,4622],[17,4373,4375],{"id":4374},"anisotropic-surfaces-force-gd-zigzags","Anisotropic Surfaces Force GD Zigzags",[22,4377,4378,4379,4382,4383,4387,4388,4391],{},"Real-world loss surfaces often have uneven curvature—flat in one direction (e.g., 0.05 x²) and steep in another (e.g., 5 y²)—yielding a Hessian with eigenvalues 0.1 and 10 (condition number 100). Gradients are ",[65,4380,4381],{},"0.1x, 10y",". With learning rate lr=0.18 (near stability limit 2\u002Fλ_max=0.2), steep direction factor |1-10",[4384,4385,4386],"em",{},"0.18|=0.8 causes 20% overshoot per step (oscillations), while flat direction |1-0.1","0.18|=0.982 advances just 1.8% (near-stagnation). Starting at ",[65,4389,4390],{},"-4,1.5",", vanilla GD: θ ← θ - lr ∇L(θ) zigzags slowly, hitting loss\u003C0.001 in 185 steps (final loss 1.5e-5 after 300 steps).",[22,4393,4394],{},"Implement as:",[4396,4397,4400],"pre",{"className":4398,"code":4399,"language":226,"meta":200,"style":200},"language-python shiki shiki-themes github-light github-dark","def grad(x, y): return np.array([0.1 * x, 10 * y])\ndef gradient_descent(start, lr, steps=300):\n    path = [np.array(start, dtype=float)]\n    pos = np.array(start, dtype=float)\n    for _ in range(steps):\n        pos = pos - lr * grad(*pos)\n        path.append(pos.copy())\n    return np.array(path)\n",[26,4401,4402,4409,4414,4419,4424,4429,4435,4441],{"__ignoreMap":200},[65,4403,4406],{"class":4404,"line":4405},"line",1,[65,4407,4408],{},"def grad(x, y): return np.array([0.1 * x, 10 * y])\n",[65,4410,4411],{"class":4404,"line":201},[65,4412,4413],{},"def gradient_descent(start, lr, steps=300):\n",[65,4415,4416],{"class":4404,"line":3877},[65,4417,4418],{},"    path = [np.array(start, dtype=float)]\n",[65,4420,4421],{"class":4404,"line":3878},[65,4422,4423],{},"    pos = np.array(start, dtype=float)\n",[65,4425,4426],{"class":4404,"line":3876},[65,4427,4428],{},"    for _ in range(steps):\n",[65,4430,4432],{"class":4404,"line":4431},6,[65,4433,4434],{},"        pos = pos - lr * grad(*pos)\n",[65,4436,4438],{"class":4404,"line":4437},7,[65,4439,4440],{},"        path.append(pos.copy())\n",[65,4442,4444],{"class":4404,"line":4443},8,[65,4445,4446],{},"    return np.array(path)\n",[22,4448,4449],{},"High lr speeds flat progress but oscillates steep; low lr stabilizes but crawls flat—core GD trade-off.",[17,4451,4453],{"id":4452},"momentum-velocity-cancels-oscillations-builds-speed","Momentum Velocity Cancels Oscillations, Builds Speed",[22,4455,4456,4457,4459],{},"Momentum tracks velocity v (exponential moving average of gradients): v ← β v + (1-β) ∇L(θ); θ ← θ - lr v. Consistent gradients (flat direction) accumulate for larger steps; opposing gradients (steep oscillations) cancel, damping zigzags. From ",[65,4458,4390],{}," with lr=0.18:",[4461,4462,4463,4467],"ul",{},[4464,4465,4466],"li",{},"β=0.9: smooth path, loss\u003C0.001 in 159 steps (final 1e-6).",[4464,4468,4469],{},"β=0.99: excessive accumulation overshoots, final loss 0.487 (circles minimum).",[22,4471,4472],{},"Code:",[4396,4474,4476],{"className":4398,"code":4475,"language":226,"meta":200,"style":200},"def momentum_gd(start, lr, beta, steps=300):\n    path = [np.array(start, dtype=float)]\n    pos = np.array(start, dtype=float)\n    v = np.zeros(2)\n    for _ in range(steps):\n        g = grad(*pos)\n        v = beta * v + (1 - beta) * g\n        pos = pos - lr * v\n        path.append(pos.copy())\n    return np.array(path)\n",[26,4477,4478,4483,4487,4491,4496,4500,4505,4510,4515,4520],{"__ignoreMap":200},[65,4479,4480],{"class":4404,"line":4405},[65,4481,4482],{},"def momentum_gd(start, lr, beta, steps=300):\n",[65,4484,4485],{"class":4404,"line":201},[65,4486,4418],{},[65,4488,4489],{"class":4404,"line":3877},[65,4490,4423],{},[65,4492,4493],{"class":4404,"line":3878},[65,4494,4495],{},"    v = np.zeros(2)\n",[65,4497,4498],{"class":4404,"line":3876},[65,4499,4428],{},[65,4501,4502],{"class":4404,"line":4431},[65,4503,4504],{},"        g = grad(*pos)\n",[65,4506,4507],{"class":4404,"line":4437},[65,4508,4509],{},"        v = beta * v + (1 - beta) * g\n",[65,4511,4512],{"class":4404,"line":4443},[65,4513,4514],{},"        pos = pos - lr * v\n",[65,4516,4518],{"class":4404,"line":4517},9,[65,4519,4440],{},[65,4521,4523],{"class":4404,"line":4522},10,[65,4524,4446],{},[22,4526,4527],{},"β weights history: β→0 mimics GD; β=0.9 balances smoothing\u002Fspeed; β→1 risks divergence.",[17,4529,4531],{"id":4530},"β-tuning-via-convergence-sweep","β Tuning via Convergence Sweep",[22,4533,4534,4535,4538],{},"Sweep β=",[65,4536,4537],{},"0.0,0.5,0.7,0.85,0.90,0.95,0.99"," to loss\u003C0.001 (max 500 steps):",[4540,4541,4542,4555],"table",{},[4543,4544,4545],"thead",{},[4546,4547,4548,4552],"tr",{},[4549,4550,4551],"th",{},"β",[4549,4553,4554],{},"Steps to converge",[4556,4557,4558,4567,4575,4583,4591,4599,4607],"tbody",{},[4546,4559,4560,4564],{},[4561,4562,4563],"td",{},"0.00",[4561,4565,4566],{},"185 (vanilla GD)",[4546,4568,4569,4572],{},[4561,4570,4571],{},"0.50",[4561,4573,4574],{},"170",[4546,4576,4577,4580],{},[4561,4578,4579],{},"0.70",[4561,4581,4582],{},"165",[4546,4584,4585,4588],{},[4561,4586,4587],{},"0.85",[4561,4589,4590],{},"161",[4546,4592,4593,4596],{},[4561,4594,4595],{},"0.90",[4561,4597,4598],{},"159 (sweet spot)",[4546,4600,4601,4604],{},[4561,4602,4603],{},"0.95",[4561,4605,4606],{},"158",[4546,4608,4609,4612],{},[4561,4610,4611],{},"0.99",[4561,4613,4614],{},">500 (diverges)",[22,4616,4617,4618,4621],{},"Inverted U: β=0.9-0.95 optimal (faster by ~15-20% vs GD); too high prioritizes stale velocity. Visualize trajectories (first 55 steps on contours) and log-loss curves confirm: GD slow\u002Foscillatory, good β direct\u002Ffast, high β bouncy\u002Ffailed. Loss surface: def loss(x,y): return 0.05",[4384,4619,4620],{},"x**2 + 5","y**2.",[4623,4624,4625],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":200,"searchDepth":201,"depth":201,"links":4627},[4628,4629,4630],{"id":4374,"depth":201,"text":4375},{"id":4452,"depth":201,"text":4453},{"id":4530,"depth":201,"text":4531},[208],{"content_references":4633,"triage":4637},[4634],{"type":3871,"title":4635,"url":4636,"context":3869},"Momentum_Gradient_Descent.ipynb","https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FData%20Science\u002FMomentum_Gradient_Descent.ipynb",{"relevance":3878,"novelty":3877,"quality":3878,"actionability":3878,"composite":4638,"reasoning":4639},3.8,"Category: AI & LLMs. The article discusses gradient descent and momentum in machine learning, addressing practical concerns about convergence speed and oscillations, which are relevant to AI developers. It provides actionable Python code examples for implementing gradient descent and momentum, making it useful for practitioners.","\u002Fsummaries\u002Fe3a7d313e4f27d00-momentum-dampens-gd-zigzags-via-gradient-averaging-summary","2026-05-05 07:26:29","2026-05-05 16:09:53",{"title":4364,"description":200},{"loc":4640},"e3a7d313e4f27d00","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F05\u002Fwhy-gradient-descent-zigzags-and-how-momentum-fixes-it\u002F","summaries\u002Fe3a7d313e4f27d00-momentum-dampens-gd-zigzags-via-gradient-averaging-summary",[227,226,225],"On anisotropic loss surfaces (condition number 100), vanilla GD zigzags and takes 185 steps to converge (loss \u003C0.001); momentum with β=0.9 converges in 159 steps by canceling steep-direction oscillations while accelerating flat directions—but β=0.99 diverges.",[],"XRkn18Lid7OsOHXT1dP1s2Nh4f4rEKAHvOL4X3Y6phw"]