@ -0,0 +1,25 @@ | |||||
import sklearn.cluster as cluster | |||||
import pandas as pd | |||||
from matplotlib import pyplot as plt | |||||
def find_kmeans(mat, k, first, second): | |||||
km = cluster.KMeans(n_clusters=k) | |||||
km.fit(mat) | |||||
# Plot sse against k | |||||
plt.figure(figsize=(6, 6)) | |||||
plt.xlabel('Metric: ' + first) | |||||
plt.ylabel('Metric: ' + second) | |||||
plt.scatter(mat[:, 0], mat[:, 1], c=km.labels_, cmap='rainbow') | |||||
plt.show() | |||||
# Read csv in | |||||
df = pd.read_csv('../data_preparation/cleaned/time_series_normalized_wellness_menstruation.csv') | |||||
# Specify what things you want | |||||
df = df[["normFatigue", "normSleepQuality"]] | |||||
# values, num clusters, axis labelsg | |||||
find_kmeans(df.values, 2, "normFatigue", "normSleepQuality") |
@ -0,0 +1,13 @@ | |||||
from matplotlib import pyplot as plt | |||||
import pandas as pd | |||||
def plot_xy(x, y): | |||||
plt.scatter(x, y) | |||||
plt.xlabel(x.name) | |||||
plt.ylabel(y.name) | |||||
plt.show() | |||||
wellness = pd.read_csv('../data_preparation/data/wellness.csv') | |||||
plot_xy(wellness['Fatigue'], wellness['SleepHours']) |
@ -0,0 +1,336 @@ | |||||
"","TimeSinceAugFirst","slidingWorkAverage" | |||||
"1",20,5563.95 | |||||
"2",21,5895.66666666667 | |||||
"3",22,6307.42857142857 | |||||
"4",23,6331.71428571429 | |||||
"5",24,6458.52380952381 | |||||
"6",25,6752.33333333333 | |||||
"7",26,6767.33333333333 | |||||
"8",27,6766.61904761905 | |||||
"9",28,6738.42857142857 | |||||
"10",29,6798.66666666667 | |||||
"11",30,6811.38095238095 | |||||
"12",31,6813.7619047619 | |||||
"13",32,6881.85714285714 | |||||
"14",33,6840.42857142857 | |||||
"15",34,6834.71428571429 | |||||
"16",35,6788.47619047619 | |||||
"17",36,6711.09523809524 | |||||
"18",37,6720.61904761905 | |||||
"19",38,6781.33333333333 | |||||
"20",39,6495.04761904762 | |||||
"21",40,6617.90476190476 | |||||
"22",41,6578.85714285714 | |||||
"23",42,6122.66666666667 | |||||
"24",43,5613.04761904762 | |||||
"25",44,5671 | |||||
"26",45,5383.2380952381 | |||||
"27",46,4878.52380952381 | |||||
"28",47,4872.90476190476 | |||||
"29",48,4874.33333333333 | |||||
"30",49,4910.85714285714 | |||||
"31",50,4796.80952380952 | |||||
"32",51,4867.42857142857 | |||||
"33",52,5067.90476190476 | |||||
"34",53,5234.04761904762 | |||||
"35",54,5216.19047619048 | |||||
"36",55,5235.47619047619 | |||||
"37",56,5313.09523809524 | |||||
"38",57,5416.90476190476 | |||||
"39",58,5454.90476190476 | |||||
"40",59,5578.47619047619 | |||||
"41",60,5850.80952380952 | |||||
"42",61,5744.38095238095 | |||||
"43",62,5768.66666666667 | |||||
"44",63,6210.71428571429 | |||||
"45",64,6592.95238095238 | |||||
"46",65,6613.90476190476 | |||||
"47",66,6986.7619047619 | |||||
"48",67,7557.09523809524 | |||||
"49",68,7567.71428571429 | |||||
"50",69,7583.42857142857 | |||||
"51",70,7640.33333333333 | |||||
"52",71,7712.38095238095 | |||||
"53",72,7741.19047619048 | |||||
"54",73,7612.85714285714 | |||||
"55",74,7466 | |||||
"56",75,7487.42857142857 | |||||
"57",76,7480.28571428571 | |||||
"58",77,7064.61904761905 | |||||
"59",78,6618.42857142857 | |||||
"60",79,6647.38095238095 | |||||
"61",80,6575.95238095238 | |||||
"62",81,5935.85714285714 | |||||
"63",82,6326.33333333333 | |||||
"64",83,7005.38095238095 | |||||
"65",84,6509.52380952381 | |||||
"66",85,6314.66666666667 | |||||
"67",86,6331 | |||||
"68",87,5901.95238095238 | |||||
"69",88,5370.85714285714 | |||||
"70",89,5633.80952380952 | |||||
"71",90,5935.52380952381 | |||||
"72",91,5317.66666666667 | |||||
"73",92,4865.38095238095 | |||||
"74",93,4682.7619047619 | |||||
"75",94,4640.61904761905 | |||||
"76",95,4585.61904761905 | |||||
"77",96,4604.66666666667 | |||||
"78",97,4592.52380952381 | |||||
"79",98,5018.95238095238 | |||||
"80",99,5509.19047619048 | |||||
"81",100,5545.38095238095 | |||||
"82",101,5570.52380952381 | |||||
"83",102,6642.42857142857 | |||||
"84",103,6281.95238095238 | |||||
"85",104,5579.19047619048 | |||||
"86",105,6177.7619047619 | |||||
"87",106,6478.2380952381 | |||||
"88",107,6441.33333333333 | |||||
"89",108,7018.95238095238 | |||||
"90",109,7771.09523809524 | |||||
"91",110,7487.42857142857 | |||||
"92",111,7168.57142857143 | |||||
"93",112,7570.95238095238 | |||||
"94",113,7856.38095238095 | |||||
"95",114,7973.7619047619 | |||||
"96",115,7617.33333333333 | |||||
"97",116,7176.85714285714 | |||||
"98",117,7260.66666666667 | |||||
"99",118,7479.2380952381 | |||||
"100",119,7162.33333333333 | |||||
"101",120,6722.57142857143 | |||||
"102",121,6734.71428571429 | |||||
"103",122,6630 | |||||
"104",123,6050.57142857143 | |||||
"105",124,6004.14285714286 | |||||
"106",125,6003.57142857143 | |||||
"107",126,5477.38095238095 | |||||
"108",127,4982.38095238095 | |||||
"109",128,4995.71428571429 | |||||
"110",129,4822.14285714286 | |||||
"111",130,4590 | |||||
"112",131,4634.28571428571 | |||||
"113",132,4634.28571428571 | |||||
"114",133,4787.61904761905 | |||||
"115",134,4950.19047619048 | |||||
"116",135,5018.52380952381 | |||||
"117",136,5628.90476190476 | |||||
"118",137,6380.04761904762 | |||||
"119",138,6255.7619047619 | |||||
"120",139,6037.19047619048 | |||||
"121",140,6435.90476190476 | |||||
"122",141,6408.04761904762 | |||||
"123",142,6788.90476190476 | |||||
"124",143,6869.19047619048 | |||||
"125",144,6356.95238095238 | |||||
"126",145,6463.14285714286 | |||||
"127",146,6653.61904761905 | |||||
"128",147,6511.71428571429 | |||||
"129",148,6512.95238095238 | |||||
"130",149,6397.71428571429 | |||||
"131",150,6617.2380952381 | |||||
"132",151,6094.85714285714 | |||||
"133",152,6766.28571428571 | |||||
"134",153,6873.19047619048 | |||||
"135",154,6273.19047619048 | |||||
"136",155,6500.61904761905 | |||||
"137",156,6401.80952380952 | |||||
"138",157,6452.2380952381 | |||||
"139",158,6449.42857142857 | |||||
"140",159,6518 | |||||
"141",160,6518 | |||||
"142",161,6399.7619047619 | |||||
"143",162,6653.19047619048 | |||||
"144",163,6260.19047619048 | |||||
"145",164,6179.2380952381 | |||||
"146",165,6804.2380952381 | |||||
"147",166,6751.14285714286 | |||||
"148",167,6560.66666666667 | |||||
"149",168,6990.90476190476 | |||||
"150",169,6975.14285714286 | |||||
"151",170,6970.14285714286 | |||||
"152",171,6734.80952380952 | |||||
"153",172,6583.04761904762 | |||||
"154",173,6174.2380952381 | |||||
"155",174,6067.33333333333 | |||||
"156",175,6419.2380952381 | |||||
"157",176,6005.47619047619 | |||||
"158",177,5965.57142857143 | |||||
"159",178,5539.04761904762 | |||||
"160",179,5201.80952380952 | |||||
"161",180,5306 | |||||
"162",181,5357.33333333333 | |||||
"163",182,4840.19047619048 | |||||
"164",183,4516.04761904762 | |||||
"165",184,4437.38095238095 | |||||
"166",185,4148.19047619048 | |||||
"167",186,3595.90476190476 | |||||
"168",187,3589 | |||||
"169",188,3614.71428571429 | |||||
"170",189,3615.90476190476 | |||||
"171",190,4194.09523809524 | |||||
"172",191,4347.19047619048 | |||||
"173",192,4576.33333333333 | |||||
"174",193,5244.28571428571 | |||||
"175",194,4937.38095238095 | |||||
"176",195,4937.38095238095 | |||||
"177",196,5191.42857142857 | |||||
"178",197,5533.57142857143 | |||||
"179",198,5683.71428571429 | |||||
"180",199,5955.38095238095 | |||||
"181",200,6318.57142857143 | |||||
"182",201,6214.85714285714 | |||||
"183",202,6167.80952380952 | |||||
"184",203,6524.47619047619 | |||||
"185",204,6826.14285714286 | |||||
"186",205,6846.95238095238 | |||||
"187",206,6975.66666666667 | |||||
"188",207,7325.80952380952 | |||||
"189",208,7488.04761904762 | |||||
"190",209,7584.71428571429 | |||||
"191",210,7458.04761904762 | |||||
"192",211,6931.52380952381 | |||||
"193",212,6847.33333333333 | |||||
"194",213,6665.90476190476 | |||||
"195",214,6637.09523809524 | |||||
"196",215,6637.09523809524 | |||||
"197",216,6637.09523809524 | |||||
"198",217,6707.80952380952 | |||||
"199",218,6657.04761904762 | |||||
"200",219,6630.80952380952 | |||||
"201",220,6465.09523809524 | |||||
"202",221,5746.7619047619 | |||||
"203",222,5677.71428571429 | |||||
"204",223,5673.42857142857 | |||||
"205",224,6052.2380952381 | |||||
"206",225,6061.28571428571 | |||||
"207",226,6100.90476190476 | |||||
"208",227,6407.80952380952 | |||||
"209",228,6582.80952380952 | |||||
"210",229,6400.09523809524 | |||||
"211",230,6277.71428571429 | |||||
"212",231,5974.61904761905 | |||||
"213",232,6039.85714285714 | |||||
"214",233,6138.61904761905 | |||||
"215",234,5793.95238095238 | |||||
"216",235,5185.61904761905 | |||||
"217",236,5185.61904761905 | |||||
"218",237,5185.61904761905 | |||||
"219",238,5011.33333333333 | |||||
"220",239,4762.33333333333 | |||||
"221",240,4749.28571428571 | |||||
"222",241,4999.7619047619 | |||||
"223",242,5391.90476190476 | |||||
"224",243,5391.90476190476 | |||||
"225",244,5391.90476190476 | |||||
"226",245,5236.42857142857 | |||||
"227",246,5204.09523809524 | |||||
"228",247,5067.57142857143 | |||||
"229",248,4865.90476190476 | |||||
"230",249,4221.85714285714 | |||||
"231",250,4196.14285714286 | |||||
"232",251,4287.33333333333 | |||||
"233",252,4549.61904761905 | |||||
"234",253,4529.61904761905 | |||||
"235",254,4321.95238095238 | |||||
"236",255,4376.2380952381 | |||||
"237",256,4534.95238095238 | |||||
"238",257,4642.28571428571 | |||||
"239",258,4867.95238095238 | |||||
"240",259,4410.66666666667 | |||||
"241",260,4181.7619047619 | |||||
"242",261,4132 | |||||
"243",262,3547.95238095238 | |||||
"244",263,3165.57142857143 | |||||
"245",264,3537.19047619048 | |||||
"246",265,3752.71428571429 | |||||
"247",266,3212 | |||||
"248",267,3017.04761904762 | |||||
"249",268,3013.47619047619 | |||||
"250",269,2987.04761904762 | |||||
"251",270,3462.28571428571 | |||||
"252",271,3469.42857142857 | |||||
"253",272,3391.09523809524 | |||||
"254",273,3847.14285714286 | |||||
"255",274,4045.71428571429 | |||||
"256",275,4249.85714285714 | |||||
"257",276,4280.47619047619 | |||||
"258",277,4291.42857142857 | |||||
"259",278,4184.09523809524 | |||||
"260",279,3958.42857142857 | |||||
"261",280,4075.47619047619 | |||||
"262",281,4352.66666666667 | |||||
"263",282,4394.80952380952 | |||||
"264",283,4441.95238095238 | |||||
"265",284,4476.2380952381 | |||||
"266",285,4435.66666666667 | |||||
"267",286,4468.14285714286 | |||||
"268",287,4414.09523809524 | |||||
"269",288,4349 | |||||
"270",289,4450.19047619048 | |||||
"271",290,4178.04761904762 | |||||
"272",291,3862.09523809524 | |||||
"273",292,3881.38095238095 | |||||
"274",293,3871.38095238095 | |||||
"275",294,3611.19047619048 | |||||
"276",295,3662.61904761905 | |||||
"277",296,3575.85714285714 | |||||
"278",297,3918.2380952381 | |||||
"279",298,4170.2380952381 | |||||
"280",299,4170.2380952381 | |||||
"281",300,4170.2380952381 | |||||
"282",301,4577.85714285714 | |||||
"283",302,4423.38095238095 | |||||
"284",303,4388.38095238095 | |||||
"285",304,4756.47619047619 | |||||
"286",305,4869.19047619048 | |||||
"287",306,4538.14285714286 | |||||
"288",307,4290.14285714286 | |||||
"289",308,4433.2380952381 | |||||
"290",309,4762.28571428571 | |||||
"291",310,4642.71428571429 | |||||
"292",311,4739.61904761905 | |||||
"293",312,4890.19047619048 | |||||
"294",313,4977.90476190476 | |||||
"295",314,5076.2380952381 | |||||
"296",315,4817.2380952381 | |||||
"297",316,4391.52380952381 | |||||
"298",317,4344.14285714286 | |||||
"299",318,4162.71428571429 | |||||
"300",319,4213.19047619048 | |||||
"301",320,4247.85714285714 | |||||
"302",321,4270.42857142857 | |||||
"303",322,4225.42857142857 | |||||
"304",323,4455.19047619048 | |||||
"305",324,4327.80952380952 | |||||
"306",325,4272.80952380952 | |||||
"307",326,4688.19047619048 | |||||
"308",327,4688.19047619048 | |||||
"309",328,4688.19047619048 | |||||
"310",329,5210.80952380952 | |||||
"311",330,5324.14285714286 | |||||
"312",331,5318.71428571429 | |||||
"313",332,5487.85714285714 | |||||
"314",333,5625.85714285714 | |||||
"315",334,5602.42857142857 | |||||
"316",335,5535.52380952381 | |||||
"317",336,5745.47619047619 | |||||
"318",337,6030.2380952381 | |||||
"319",338,5963.57142857143 | |||||
"320",339,5825 | |||||
"321",340,5540.95238095238 | |||||
"322",341,5506.28571428571 | |||||
"323",342,5496.09523809524 | |||||
"324",343,5394.66666666667 | |||||
"325",344,5061.95238095238 | |||||
"326",345,5061.2380952381 | |||||
"327",346,4868.61904761905 | |||||
"328",347,4190.04761904762 | |||||
"329",348,4192.90476190476 | |||||
"330",349,4192.90476190476 | |||||
"331",350,3631.2380952381 | |||||
"332",351,3369.09523809524 | |||||
"333",352,3366.2380952381 | |||||
"334",353,3131.38095238095 | |||||
"335",354,2723.52380952381 |
@ -0,0 +1,188 @@ | |||||
import tensorflow as tf | |||||
import pandas as pd | |||||
import numpy as np | |||||
def time_series_sigmoid_classification(X, Y, k, n0, x_columns, y_columns): | |||||
inp = X[x_columns] | |||||
out = Y[y_columns] | |||||
col = "day" | |||||
x = [] | |||||
y = [] | |||||
input_shape = 0 | |||||
output_shape = 0 | |||||
for player in Y["playerID"].unique(): | |||||
XPlayer = inp[inp["playerID"] == player] | |||||
YPlayer = out[out["playerID"] == player] | |||||
for day in YPlayer[col][n0 - 1:]: | |||||
prev = day - k | |||||
xprev = XPlayer[XPlayer[col] == prev].drop(columns=[col]).to_numpy() | |||||
if xprev.shape[0] != 1: | |||||
continue | |||||
else: | |||||
xprev = xprev[0, :] | |||||
yt = YPlayer[YPlayer[col] == day].drop(columns=[col]).to_numpy()[0, :] | |||||
if input_shape == 0: | |||||
input_shape = xprev.shape[0] | |||||
else: | |||||
if input_shape != xprev.shape[0]: | |||||
print("INCONSISTENT INPUT DIMENSION") | |||||
exit(2) | |||||
if input_shape == 0: | |||||
output_shape = yt.shape[0] | |||||
else: | |||||
if output_shape != yt.shape[0]: | |||||
print("INCONSISTENT OUTPUT DIMENSION") | |||||
exit(2) | |||||
x.append(xprev) | |||||
y.append(yt) | |||||
x = np.array(x) | |||||
y = np.array(y) | |||||
model = tf.keras.Sequential([ | |||||
tf.keras.layers.Flatten(input_shape=input_shape), | |||||
tf.keras.layers.Dense(output_shape, activation=tf.nn.softmax) | |||||
]) | |||||
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy', 'categorical_accuracy']) | |||||
model.fit(x, y, epochs=100) | |||||
loss, accuracy = model.evaluate(x, y) | |||||
print(loss, accuracy) | |||||
return model.get_weights() | |||||
def time_series_dnn_classification(X, Y, k, n0, x_columns, y_columns): | |||||
inp = X[x_columns] | |||||
out = Y[y_columns] | |||||
col = "day" | |||||
x = [] | |||||
y = [] | |||||
input_shape = 0 | |||||
output_shape = 0 | |||||
for player in Y["playerID"].unique(): | |||||
XPlayer = inp[inp["playerID"] == player] | |||||
YPlayer = out[out["playerID"] == player] | |||||
for day in YPlayer[col][n0 - 1:]: | |||||
prev = day - k | |||||
xprev = XPlayer[XPlayer[col] == prev].drop(columns=[col]).to_numpy() | |||||
if xprev.shape[0] != 1: | |||||
continue | |||||
else: | |||||
xprev = xprev[0, :] | |||||
yt = YPlayer[YPlayer[col] == day].drop(columns=[col]).to_numpy()[0, :] | |||||
if input_shape == 0: | |||||
input_shape = xprev.shape[0] | |||||
else: | |||||
if input_shape != xprev.shape[0]: | |||||
print("INCONSISTENT INPUT DIMENSION") | |||||
exit(2) | |||||
if input_shape == 0: | |||||
output_shape = yt.shape[0] | |||||
else: | |||||
if output_shape != yt.shape[0]: | |||||
print("INCONSISTENT OUTPUT DIMENSION") | |||||
exit(2) | |||||
x.append(xprev) | |||||
y.append(yt) | |||||
x = np.array(x) | |||||
y = np.array(y) | |||||
model = tf.keras.Sequential([ | |||||
tf.keras.layers.Flatten(input_shape=input_shape), | |||||
tf.keras.layers.Dense(32, activation=tf.nn.softmax), | |||||
tf.keras.layers.Dense(output_shape, activation=tf.nn.softmax) | |||||
]) | |||||
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy', 'categorical_accuracy']) | |||||
model.fit(x, y, epochs=100) | |||||
loss, accuracy = model.evaluate(x, y) | |||||
print(loss, accuracy) | |||||
return model.get_weights() | |||||
def time_series_linear_regression(X, Y, k, n0, x_columns, y_columns): | |||||
inp = X[x_columns] | |||||
out = Y[y_columns] | |||||
col = "day" | |||||
x = [] | |||||
y = [] | |||||
input_shape = 0 | |||||
output_shape = 0 | |||||
for player in Y["playerID"].unique(): | |||||
XPlayer = inp[inp["playerID"] == player] | |||||
YPlayer = out[out["playerID"] == player] | |||||
for day in YPlayer[col][n0 - 1:]: | |||||
prev = day - k | |||||
xprev = XPlayer[XPlayer[col] == prev].drop(columns=[col]).to_numpy() | |||||
if xprev.shape[0] != 1: | |||||
continue | |||||
else: | |||||
xprev = xprev[0, :] | |||||
yt = YPlayer[YPlayer[col] == day].drop(columns=[col]).to_numpy()[0, :] | |||||
if input_shape == 0: | |||||
input_shape = xprev.shape[0] | |||||
else: | |||||
if input_shape != xprev.shape[0]: | |||||
print("INCONSISTENT INPUT DIMENSION") | |||||
exit(2) | |||||
if input_shape == 0: | |||||
output_shape = yt.shape[0] | |||||
else: | |||||
if output_shape != yt.shape[0]: | |||||
print("INCONSISTENT OUTPUT DIMENSION") | |||||
exit(2) | |||||
x.append(xprev) | |||||
y.append(yt) | |||||
x = np.array(x) | |||||
y = np.array(y) | |||||
model = tf.keras.Sequential([ | |||||
tf.keras.layers.Flatten(input_shape=input_shape), | |||||
tf.keras.layers.Dense(output_shape) | |||||
]) | |||||
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy', 'categorical_accuracy']) | |||||
model.fit(x, y, epochs=100) | |||||
loss, accuracy = model.evaluate(x, y) | |||||
print(loss, accuracy) | |||||
return model.get_weights() | |||||
def time_series_dnn_regressions(X, Y, k, n0, x_columns, y_columns): | |||||
inp = X[x_columns] | |||||
out = Y[y_columns] | |||||
col = "day" | |||||
x = [] | |||||
y = [] | |||||
input_shape = 0 | |||||
output_shape = 0 | |||||
for player in Y["playerID"].unique(): | |||||
XPlayer = inp[inp["playerID"] == player] | |||||
YPlayer = out[out["playerID"] == player] | |||||
for day in YPlayer[col][n0 - 1:]: | |||||
prev = day - k | |||||
xprev = XPlayer[XPlayer[col] == prev].drop(columns=[col]).to_numpy() | |||||
if xprev.shape[0] != 1: | |||||
continue | |||||
else: | |||||
xprev = xprev[0, :] | |||||
yt = YPlayer[YPlayer[col] == day].drop(columns=[col]).to_numpy()[0, :] | |||||
if input_shape == 0: | |||||
input_shape = xprev.shape[0] | |||||
else: | |||||
if input_shape != xprev.shape[0]: | |||||
print("INCONSISTENT INPUT DIMENSION") | |||||
exit(2) | |||||
if input_shape == 0: | |||||
output_shape = yt.shape[0] | |||||
else: | |||||
if output_shape != yt.shape[0]: | |||||
print("INCONSISTENT OUTPUT DIMENSION") | |||||
exit(2) | |||||
x.append(xprev) | |||||
y.append(yt) | |||||
x = np.array(x) | |||||
y = np.array(y) | |||||
model = tf.keras.Sequential([ | |||||
tf.keras.layers.Flatten(input_shape=input_shape), | |||||
tf.keras.layers.Dense(32, activation=tf.nn.softmax), | |||||
tf.keras.layers.Dense(output_shape) | |||||
]) | |||||
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy', 'categorical_accuracy']) | |||||
model.fit(x, y, epochs=100) | |||||
loss, accuracy = model.evaluate(x, y) | |||||
print(loss, accuracy) | |||||
return model.get_weights() |
@ -0,0 +1,355 @@ | |||||
TimeSinceAugFirst,fatigueSum | |||||
0,0.734457489003587 | |||||
1,0.485175472200728 | |||||
2,0.280474592899874 | |||||
3,0.852899672028512 | |||||
4,0.067718127997734 | |||||
5,0.387261248267282 | |||||
6,0.466815138124766 | |||||
7,0.763731947890889 | |||||
8,0.685512083480377 | |||||
9,0.895108656027463 | |||||
10,-0.061861871122328 | |||||
11,0.296321907390904 | |||||
12,0.623117762114496 | |||||
13,0.753829250795893 | |||||
14,0.217870344211225 | |||||
15,0.53926849046086 | |||||
16,0.734843942472552 | |||||
17,0.308469121871186 | |||||
18,0.167041135359123 | |||||
19,0.746267880340515 | |||||
20,0.622788652776368 | |||||
21,0.214320156058007 | |||||
22,0.050827857843934 | |||||
23,0.294246790332209 | |||||
24,0.186808624194322 | |||||
25,0.552767197321023 | |||||
26,0.78454170658556 | |||||
27,0.779419550851109 | |||||
28,0.798357373731036 | |||||
29,0.323129040463109 | |||||
30,0.145143808515553 | |||||
31,0.68487764162657 | |||||
32,0.539874793771553 | |||||
33,0.36321009791783 | |||||
34,0.489148204465833 | |||||
35,0.413236542977807 | |||||
36,0.395011893731417 | |||||
37,0.156837050771386 | |||||
38,-0.285558218459401 | |||||
39,-0.349698539921412 | |||||
40,-0.558765836143965 | |||||
41,0.785941194779244 | |||||
42,0.260825136166886 | |||||
43,0.175173324395181 | |||||
44,0.548662507988438 | |||||
45,0.252321231106257 | |||||
46,0.742763716938104 | |||||
47,0.529872511137736 | |||||
48,0.37042402851138 | |||||
49,0.162733394153363 | |||||
50,0.357107946620677 | |||||
51,0.012983087373205 | |||||
52,-0.038997965254495 | |||||
53,0.241085179931302 | |||||
54,0.27305103057282 | |||||
55,0.501283454971351 | |||||
56,0.352131554149897 | |||||
57,0.510308182531921 | |||||
58,0.408416961411701 | |||||
59,-0.38225962517156 | |||||
60,0.111784933841739 | |||||
61,0.610578265741467 | |||||
62,0.563836579606691 | |||||
63,0.387038159139884 | |||||
64,0.17691474265164 | |||||
65,-0.158440974403251 | |||||
66,-0.127808846886789 | |||||
67,0.16767510337051 | |||||
68,0.232412554117885 | |||||
69,-0.034039586741236 | |||||
70,0.369219132420847 | |||||
71,0.055166081100634 | |||||
72,-0.15914007575716 | |||||
73,-0.143815705049808 | |||||
74,0.309931292450968 | |||||
75,0.481718700637843 | |||||
76,0.542695985663472 | |||||
77,-0.592609862606928 | |||||
78,-0.087871760090222 | |||||
79,0.323133612277408 | |||||
80,0.145926738048549 | |||||
81,0.266068498675575 | |||||
82,0.112895006227449 | |||||
83,0.11774653805839 | |||||
84,0.289982558620813 | |||||
85,0.156268777724842 | |||||
86,0.336960194430492 | |||||
87,0.211568516622687 | |||||
88,0.405654888856629 | |||||
89,-0.080651094767532 | |||||
90,-0.989503212930113 | |||||
91,-0.618589483268202 | |||||
92,-0.106354633315225 | |||||
93,-0.036704167015262 | |||||
94,-0.199061758628498 | |||||
95,-0.165391404949047 | |||||
96,0.465559713151923 | |||||
97,0.553712364147757 | |||||
98,0.10718598664192 | |||||
99,-0.176520319237606 | |||||
100,-0.012471746839114 | |||||
101,0.009238546030446 | |||||
102,0.031210965670768 | |||||
103,0.306981488185374 | |||||
104,0.326512806301329 | |||||
105,0.389789945787445 | |||||
106,0.163338392510265 | |||||
107,0.43041006311016 | |||||
108,0.064529621280754 | |||||
109,-0.056642839331862 | |||||
110,0.360810616073057 | |||||
111,0.674486235636005 | |||||
112,0.203177618350165 | |||||
113,0.016482187327924 | |||||
114,0.645937951499796 | |||||
115,-0.635636762766677 | |||||
116,0.054267298726349 | |||||
117,0.197678247905769 | |||||
118,-0.037744729883124 | |||||
119,0.510184386241254 | |||||
120,0.456725618316876 | |||||
121,0.36942720222611 | |||||
122,-0.305694272607688 | |||||
123,-1.09191169102099 | |||||
124,-0.726910533417431 | |||||
125,-0.43884728739089 | |||||
126,0.029939288546349 | |||||
127,-0.061371102729405 | |||||
128,-0.245528132438078 | |||||
129,0.009470765956943 | |||||
130,-0.341784370603988 | |||||
131,-0.049919365357729 | |||||
132,0.097143172058972 | |||||
133,-0.011342193521127 | |||||
134,0.080421703207904 | |||||
135,-0.129004417719117 | |||||
136,-0.270859696160466 | |||||
137,-0.708904646451948 | |||||
138,-0.229009026264089 | |||||
139,-0.181424438959781 | |||||
140,-0.026564683920245 | |||||
141,0.219065484118407 | |||||
142,-0.530439085926495 | |||||
143,-0.739993065212586 | |||||
144,-0.078144247328314 | |||||
145,0.281806254987051 | |||||
146,0.106323312617401 | |||||
147,0.461051503524687 | |||||
148,-0.194960844877302 | |||||
149,-1.0323471479209 | |||||
150,-0.221708749633043 | |||||
151,-0.146094771209489 | |||||
152,-0.769845305708576 | |||||
153,-0.006930021908459 | |||||
154,-0.104647283728296 | |||||
155,-0.012381788872799 | |||||
156,-0.19121232166827 | |||||
157,-0.671529527201817 | |||||
158,-0.616394224498445 | |||||
159,-0.073943182938408 | |||||
160,0.057147640203543 | |||||
161,-0.346330630873381 | |||||
162,-0.08655944015928 | |||||
163,-0.408202837238968 | |||||
164,-1.28901633269902 | |||||
165,-1.06200969217439 | |||||
166,-0.239078707352407 | |||||
167,-0.069592861351456 | |||||
168,-0.47050097438462 | |||||
169,-1.02350760409975 | |||||
170,-0.382414735756562 | |||||
171,-0.091983676112389 | |||||
172,0.016194125135445 | |||||
173,0.208557925296051 | |||||
174,0.382631435594289 | |||||
175,0.054618860565352 | |||||
176,0.392539314443691 | |||||
177,0.407308177079325 | |||||
178,0.5361087576086 | |||||
179,-0.559118537823889 | |||||
180,-0.041279425806623 | |||||
181,-0.811977779328337 | |||||
182,-0.673110139192779 | |||||
183,-0.647190032646896 | |||||
184,-0.264055759125838 | |||||
185,0.2137206708926 | |||||
186,0.169532929678205 | |||||
187,0.572823128029248 | |||||
188,0.504138498108557 | |||||
189,-0.025148663593221 | |||||
190,0.243256165168842 | |||||
191,-0.028600242158836 | |||||
192,-0.470973085298726 | |||||
193,-0.404980167324132 | |||||
194,0.192687307444004 | |||||
195,0.249123463461409 | |||||
196,-0.094501395021819 | |||||
197,0.330171642369123 | |||||
198,0.303808916345168 | |||||
199,-0.225895188174485 | |||||
200,-0.337185144362268 | |||||
201,0.184560773992318 | |||||
202,0.105945063048639 | |||||
203,-0.268263490373093 | |||||
204,-0.630585558331497 | |||||
205,-0.458206840787744 | |||||
206,-0.498158052976791 | |||||
207,-0.029702307826457 | |||||
208,-0.067979765277485 | |||||
209,-0.656925656525055 | |||||
210,-0.457529274865099 | |||||
211,-0.271352185811345 | |||||
212,-1.11655632791675 | |||||
213,-0.611166931446556 | |||||
214,-0.610527376526797 | |||||
215,0.034382530133085 | |||||
216,-0.141318464945944 | |||||
217,0.004511261469066 | |||||
218,-0.164492395019851 | |||||
219,-0.056862211997474 | |||||
220,0.010261586762043 | |||||
221,0.101082024613018 | |||||
222,0.372300796539504 | |||||
223,-0.145874961700409 | |||||
224,0.060726106209981 | |||||
225,-0.371059412216481 | |||||
226,-0.370670092221636 | |||||
227,0.083119527458891 | |||||
228,-0.058338986929759 | |||||
229,0.3362958277405 | |||||
230,0.519265121699177 | |||||
231,0.169683826619216 | |||||
232,0.077486840441911 | |||||
233,-0.474364612134558 | |||||
234,-0.247702269140266 | |||||
235,-0.659595488129965 | |||||
236,0.262402593762269 | |||||
237,-0.277905669965979 | |||||
238,-0.073857678558781 | |||||
239,0.053602846962544 | |||||
240,-0.606205677585295 | |||||
241,-0.624053318548306 | |||||
242,-0.605867224210048 | |||||
243,-0.252954297674564 | |||||
244,-0.101338569851228 | |||||
245,0.133299355850543 | |||||
246,0.416469635541468 | |||||
247,-0.48865392999333 | |||||
248,0.145411566109825 | |||||
250,-0.727338523179393 | |||||
251,0.124104120321982 | |||||
252,0.276748683294634 | |||||
253,0.793381770905604 | |||||
254,0.643063414197272 | |||||
255,1.04989185847975 | |||||
256,0.164337667404437 | |||||
257,0.158175420900341 | |||||
258,-0.376784412957032 | |||||
259,-1.13446825563484 | |||||
260,-0.682110266582935 | |||||
261,0.03890579636218 | |||||
262,0.250705347616431 | |||||
263,0.63083548881295 | |||||
264,-0.381185476545982 | |||||
265,-2.09473205252048 | |||||
266,-1.08423548600842 | |||||
267,-1.00435109992827 | |||||
268,-0.96922353115861 | |||||
269,-0.845113477539493 | |||||
270,-0.542326267460438 | |||||
271,-0.154289023678556 | |||||
272,-0.47818347594847 | |||||
273,-0.306186227227698 | |||||
274,0.130165587788887 | |||||
275,-0.534607431666707 | |||||
276,-0.024108562029165 | |||||
277,0.441356603857835 | |||||
278,0.835974252393425 | |||||
279,0.504743612581526 | |||||
280,0.608084130261808 | |||||
281,0.354286698358717 | |||||
282,0.149098455139156 | |||||
283,0.362866649040982 | |||||
284,0.585107099551978 | |||||
285,-0.238849557858286 | |||||
286,-1.29316205044401 | |||||
287,-0.514971003845922 | |||||
288,-0.130605271784348 | |||||
289,0.054601023159174 | |||||
290,0.712654053152515 | |||||
291,0.345411091599797 | |||||
292,0.590827647093801 | |||||
293,0.226175565336716 | |||||
294,0.066456432118622 | |||||
295,-0.244109627769699 | |||||
296,-0.668607818640876 | |||||
297,-0.892753779097629 | |||||
298,-0.864450623997139 | |||||
299,-0.052629105168991 | |||||
300,0.097879540271865 | |||||
301,0.068861223343318 | |||||
302,0.201303180551096 | |||||
303,-0.343311264954187 | |||||
304,-0.149597988654366 | |||||
305,0.1591975667215 | |||||
306,-0.128030046827757 | |||||
307,-0.881761347390814 | |||||
308,0.110911445153907 | |||||
309,-0.059481544970226 | |||||
310,0.248261046579106 | |||||
311,0.217829171777561 | |||||
312,-0.168769117743194 | |||||
313,-0.734302536254684 | |||||
314,-1.23366692589506 | |||||
315,-0.425009478665031 | |||||
316,-0.236956665438271 | |||||
317,-0.135287941133465 | |||||
318,-0.214676104364952 | |||||
319,-0.246512442890127 | |||||
320,0.020016985976053 | |||||
321,-0.561102012471304 | |||||
322,-0.258337553328078 | |||||
323,-0.360201383670261 | |||||
324,-0.676758179307032 | |||||
325,-1.22326716932596 | |||||
326,-0.552498077877283 | |||||
327,-0.05938292421172 | |||||
328,-0.230174146084735 | |||||
329,-0.178125732975686 | |||||
330,-0.782218150988738 | |||||
331,-0.902771605320945 | |||||
332,-0.83417758585907 | |||||
333,-0.623742294718358 | |||||
334,0.029100211618237 | |||||
335,-0.276998463243979 | |||||
336,-0.495616972912957 | |||||
337,-0.16842928848014 | |||||
338,-0.215205592767 | |||||
339,-0.400929404850442 | |||||
340,0.001421286489176 | |||||
341,0.247646162510804 | |||||
342,-0.019832667817069 | |||||
343,0.41449646066539 | |||||
344,0.305217583351337 | |||||
345,0.260375893221019 | |||||
346,0.643585606257478 | |||||
347,0.587502564497385 | |||||
348,0.933368991653645 | |||||
349,0.562934043178896 | |||||
350,0.582213233197938 | |||||
351,0.550560856980579 | |||||
352,0.598280595137412 | |||||
353,0.739698209165581 | |||||
354,0.066689402177346 |
@ -0,0 +1,28 @@ | |||||
Team: | |||||
1. | |||||
x - normFatigue, TimeSince | |||||
y - normSoreness | |||||
r2 - 0.16830803694995466 | |||||
2. | |||||
x - normFatigue, TimeSince | |||||
y - normDesire | |||||
r2 - 0.1722466278587138 | |||||
3. | |||||
x - normFatigue, TimeSince | |||||
y - normIrritability | |||||
r2 - 0.09563459728506452 | |||||
4. | |||||
x - normSleepHours, TimeSince | |||||
y - normSleepQualiyt | |||||
r2 - 0.09717095676693188 | |||||
5. | |||||
Perry: | |||||
7 day moving average team workload - normalized team fatigue: 0.0006 | |||||
21 day moving average team workload - normalized team fatigue: 0.0024 | |||||
normalized team fatigue - game day performance: 0.0696 | |||||
normalized team fatigue - paper smoothed workload fatigue: 0.0324 |
@ -0,0 +1,350 @@ | |||||
"","TimeSinceAugFirst","slidingWorkAverage" | |||||
"1",6,3340 | |||||
"2",7,4662.14285714286 | |||||
"3",8,5407.85714285714 | |||||
"4",9,5460.71428571429 | |||||
"5",10,5780.71428571429 | |||||
"6",11,6050 | |||||
"7",12,6225.71428571429 | |||||
"8",13,6240.71428571429 | |||||
"9",14,6057.14285714286 | |||||
"10",15,6055.71428571429 | |||||
"11",16,6022.71428571429 | |||||
"12",17,6087 | |||||
"13",18,6871.28571428571 | |||||
"14",19,6693.42857142857 | |||||
"15",20,6793.42857142857 | |||||
"16",21,6967.71428571429 | |||||
"17",22,7458.71428571429 | |||||
"18",23,7511.71428571429 | |||||
"19",24,7507.85714285714 | |||||
"20",25,7335.71428571429 | |||||
"21",26,7382.85714285714 | |||||
"22",27,7265.71428571429 | |||||
"23",28,7190.42857142857 | |||||
"24",29,6881.57142857143 | |||||
"25",30,6899.71428571429 | |||||
"26",31,6846.42857142857 | |||||
"27",32,6438.57142857143 | |||||
"28",33,6445 | |||||
"29",34,6445 | |||||
"30",35,6207.28571428571 | |||||
"31",36,5793 | |||||
"32",37,5750.42857142857 | |||||
"33",38,5989.71428571429 | |||||
"34",39,5710.85714285714 | |||||
"35",40,6025.85714285714 | |||||
"36",41,6025.85714285714 | |||||
"37",42,4970.28571428571 | |||||
"38",43,4164.57142857143 | |||||
"39",44,4362.85714285714 | |||||
"40",45,3313.57142857143 | |||||
"41",46,2486.14285714286 | |||||
"42",47,2147.85714285714 | |||||
"43",48,2152.14285714286 | |||||
"44",49,3555 | |||||
"45",50,4432.85714285714 | |||||
"46",51,4489 | |||||
"47",52,5900.42857142857 | |||||
"48",53,7505.14285714286 | |||||
"49",54,7474.85714285714 | |||||
"50",55,7528.42857142857 | |||||
"51",56,7414 | |||||
"52",57,7653.28571428571 | |||||
"53",58,7512.85714285714 | |||||
"54",59,7521.42857142857 | |||||
"55",60,7561.14285714286 | |||||
"56",61,7610.42857142857 | |||||
"57",62,7625.42857142857 | |||||
"58",63,7663.14285714286 | |||||
"59",64,7692.71428571429 | |||||
"60",65,7839.85714285714 | |||||
"61",66,7538.42857142857 | |||||
"62",67,7605 | |||||
"63",68,7617.85714285714 | |||||
"64",69,7596.42857142857 | |||||
"65",70,7843.85714285714 | |||||
"66",71,7791.14285714286 | |||||
"67",72,7870.85714285714 | |||||
"68",73,7778.71428571429 | |||||
"69",74,7231.85714285714 | |||||
"70",75,7234 | |||||
"71",76,7219 | |||||
"72",77,5686.85714285714 | |||||
"73",78,4371.42857142857 | |||||
"74",79,4231.42857142857 | |||||
"75",80,4410.71428571429 | |||||
"76",81,2970.71428571429 | |||||
"77",82,4127.14285714286 | |||||
"78",83,6200.71428571429 | |||||
"79",84,5997.85714285714 | |||||
"80",85,6781.42857142857 | |||||
"81",86,6890.71428571429 | |||||
"82",87,5516.42857142857 | |||||
"83",88,5910 | |||||
"84",89,5540.28571428571 | |||||
"85",90,4386.85714285714 | |||||
"86",91,4268.28571428571 | |||||
"87",92,3443.28571428571 | |||||
"88",93,2926.14285714286 | |||||
"89",94,3994.71428571429 | |||||
"90",95,4876.14285714286 | |||||
"91",96,4146.57142857143 | |||||
"92",97,3190 | |||||
"93",98,4790.71428571429 | |||||
"94",99,6302.85714285714 | |||||
"95",100,6819.28571428571 | |||||
"96",101,7200.42857142857 | |||||
"97",102,9141.14285714286 | |||||
"98",103,9159 | |||||
"99",104,9160.71428571429 | |||||
"100",105,9474.28571428571 | |||||
"101",106,9688.57142857143 | |||||
"102",107,9578.57142857143 | |||||
"103",108,9861.71428571429 | |||||
"104",109,9296 | |||||
"105",110,9156.71428571429 | |||||
"106",111,9155 | |||||
"107",112,8447.85714285714 | |||||
"108",113,7577.71428571429 | |||||
"109",114,7523.42857142857 | |||||
"110",115,5789.85714285714 | |||||
"111",116,3093.42857142857 | |||||
"112",117,3466.28571428571 | |||||
"113",118,4122 | |||||
"114",119,3564.85714285714 | |||||
"115",120,2901.42857142857 | |||||
"116",121,3102.14285714286 | |||||
"117",122,4238.42857142857 | |||||
"118",123,5762.28571428571 | |||||
"119",124,5389.42857142857 | |||||
"120",125,4733.71428571429 | |||||
"121",126,4419.42857142857 | |||||
"122",127,4468 | |||||
"123",128,4361.57142857143 | |||||
"124",129,4438.14285714286 | |||||
"125",130,4914.28571428571 | |||||
"126",131,5047.14285714286 | |||||
"127",132,5047.14285714286 | |||||
"128",133,6378.57142857143 | |||||
"129",134,7481.14285714286 | |||||
"130",135,7591.85714285714 | |||||
"131",136,8210.14285714286 | |||||
"132",137,8463.57142857143 | |||||
"133",138,8330.71428571429 | |||||
"134",139,8330.71428571429 | |||||
"135",140,8509.71428571429 | |||||
"136",141,7275 | |||||
"137",142,8413.28571428571 | |||||
"138",143,7959.28571428571 | |||||
"139",144,5693 | |||||
"140",145,6011.57142857143 | |||||
"141",146,6583 | |||||
"142",147,4646.85714285714 | |||||
"143",148,4782.71428571429 | |||||
"144",149,3188 | |||||
"145",150,3682.28571428571 | |||||
"146",151,4128 | |||||
"147",152,5956.57142857143 | |||||
"148",153,5705.85714285714 | |||||
"149",154,5663 | |||||
"150",155,7444.14285714286 | |||||
"151",156,7604.14285714286 | |||||
"152",157,7715.14285714286 | |||||
"153",158,9527.28571428571 | |||||
"154",159,7585.85714285714 | |||||
"155",160,7265.14285714286 | |||||
"156",161,8889.42857142857 | |||||
"157",162,7732.71428571429 | |||||
"158",163,7988.42857142857 | |||||
"159",164,7140.28571428571 | |||||
"160",165,6757.42857142857 | |||||
"161",166,6711 | |||||
"162",167,6711 | |||||
"163",168,6420.28571428571 | |||||
"164",169,5748.57142857143 | |||||
"165",170,5317.85714285714 | |||||
"166",171,5349 | |||||
"167",172,3464.42857142857 | |||||
"168",173,4225.85714285714 | |||||
"169",174,4225.85714285714 | |||||
"170",175,3948 | |||||
"171",176,4535.14285714286 | |||||
"172",177,4590.42857142857 | |||||
"173",178,4127.85714285714 | |||||
"174",179,5383.57142857143 | |||||
"175",180,4981.14285714286 | |||||
"176",181,5135.14285714286 | |||||
"177",182,4152.28571428571 | |||||
"178",183,3264.42857142857 | |||||
"179",184,3403.85714285714 | |||||
"180",185,2967.71428571429 | |||||
"181",186,1939.71428571429 | |||||
"182",187,1560 | |||||
"183",188,1483.14285714286 | |||||
"184",189,2747.42857142857 | |||||
"185",190,4782.71428571429 | |||||
"186",191,5047.28571428571 | |||||
"187",192,6633.42857142857 | |||||
"188",193,8409.57142857143 | |||||
"189",194,8271 | |||||
"190",195,8193.85714285714 | |||||
"191",196,8674.57142857143 | |||||
"192",197,8553.57142857143 | |||||
"193",198,8600 | |||||
"194",199,8265 | |||||
"195",200,8606.42857142857 | |||||
"196",201,8813.57142857143 | |||||
"197",202,8826.42857142857 | |||||
"198",203,8151.42857142857 | |||||
"199",204,7142.14285714286 | |||||
"200",205,6893.57142857143 | |||||
"201",206,6028.57142857143 | |||||
"202",207,4961.42857142857 | |||||
"203",208,5379.57142857143 | |||||
"204",209,5733.85714285714 | |||||
"205",210,5548.14285714286 | |||||
"206",211,5098.85714285714 | |||||
"207",212,5048.42857142857 | |||||
"208",213,5704.14285714286 | |||||
"209",214,6343.42857142857 | |||||
"210",215,5718.14285714286 | |||||
"211",216,5351 | |||||
"212",217,6423.85714285714 | |||||
"213",218,7730.14285714286 | |||||
"214",219,7950.42857142857 | |||||
"215",220,7662.57142857143 | |||||
"216",221,5935.42857142857 | |||||
"217",222,5935.42857142857 | |||||
"218",223,5935.42857142857 | |||||
"219",224,6184.71428571429 | |||||
"220",225,5354.85714285714 | |||||
"221",226,5303.85714285714 | |||||
"222",227,5856.71428571429 | |||||
"223",228,7469.57142857143 | |||||
"224",229,7546.71428571429 | |||||
"225",230,7546.71428571429 | |||||
"226",231,5315.28571428571 | |||||
"227",232,5034.57142857143 | |||||
"228",233,5161.57142857143 | |||||
"229",234,3862.57142857143 | |||||
"230",235,2151.85714285714 | |||||
"231",236,2074.71428571429 | |||||
"232",237,2074.71428571429 | |||||
"233",238,3534 | |||||
"234",239,3897.57142857143 | |||||
"235",240,3782.42857142857 | |||||
"236",241,5280 | |||||
"237",242,6554.28571428571 | |||||
"238",243,6554.28571428571 | |||||
"239",244,6554.28571428571 | |||||
"240",245,6860 | |||||
"241",246,6680.14285714286 | |||||
"242",247,6258.71428571429 | |||||
"243",248,5455.14285714286 | |||||
"244",249,3959.42857142857 | |||||
"245",250,3959.42857142857 | |||||
"246",251,4233 | |||||
"247",252,3254.85714285714 | |||||
"248",253,3011.14285714286 | |||||
"249",254,2924.71428571429 | |||||
"250",255,2393.57142857143 | |||||
"251",256,3091.14285714286 | |||||
"252",257,3413.14285714286 | |||||
"253",258,3816.57142857143 | |||||
"254",259,3117.14285714286 | |||||
"255",260,2854 | |||||
"256",261,3212.57142857143 | |||||
"257",262,2795.14285714286 | |||||
"258",263,2446.14285714286 | |||||
"259",264,3239 | |||||
"260",265,3208.57142857143 | |||||
"261",266,3264 | |||||
"262",267,3186 | |||||
"263",268,2903.14285714286 | |||||
"264",269,3772.42857142857 | |||||
"265",270,4849.57142857143 | |||||
"266",271,3756.14285714286 | |||||
"267",272,3148.14285714286 | |||||
"268",273,5160.28571428571 | |||||
"269",274,6097.14285714286 | |||||
"270",275,6633.85714285714 | |||||
"271",276,6273.85714285714 | |||||
"272",277,5578.57142857143 | |||||
"273",278,5557.14285714286 | |||||
"274",279,5518.57142857143 | |||||
"275",280,3802.14285714286 | |||||
"276",281,3774.85714285714 | |||||
"277",282,3647.42857142857 | |||||
"278",283,3279.57142857143 | |||||
"279",284,3000.57142857143 | |||||
"280",285,3993.71428571429 | |||||
"281",286,4737.71428571429 | |||||
"282",287,4279.85714285714 | |||||
"283",288,3175 | |||||
"284",289,3069.28571428571 | |||||
"285",290,2980.71428571429 | |||||
"286",291,3007.14285714286 | |||||
"287",292,2093.28571428571 | |||||
"288",293,1357.85714285714 | |||||
"289",294,2751.57142857143 | |||||
"290",295,4038 | |||||
"291",296,4010.85714285714 | |||||
"292",297,5494.42857142857 | |||||
"293",298,6503 | |||||
"294",299,6423.71428571429 | |||||
"295",300,6415.14285714286 | |||||
"296",301,6702.14285714286 | |||||
"297",302,6057.14285714286 | |||||
"298",303,6085 | |||||
"299",304,5794.28571428571 | |||||
"300",305,5097.42857142857 | |||||
"301",306,5097.42857142857 | |||||
"302",307,5097.42857142857 | |||||
"303",308,3846 | |||||
"304",309,4191.71428571429 | |||||
"305",310,3832.28571428571 | |||||
"306",311,2930.14285714286 | |||||
"307",312,3070.14285714286 | |||||
"308",313,3412.57142857143 | |||||
"309",314,3716.14285714286 | |||||
"310",315,3903.57142857143 | |||||
"311",316,2925.71428571429 | |||||
"312",317,3115.14285714286 | |||||
"313",318,3763.71428571429 | |||||
"314",319,4472 | |||||
"315",320,4233.57142857143 | |||||
"316",321,3997.71428571429 | |||||
"317",322,4926.71428571429 | |||||
"318",323,6248.14285714286 | |||||
"319",324,6036 | |||||
"320",325,6124.57142857143 | |||||
"321",326,6522.42857142857 | |||||
"322",327,6418.42857142857 | |||||
"323",328,6350.71428571429 | |||||
"324",329,6802.14285714286 | |||||
"325",330,6798.57142857143 | |||||
"326",331,6805 | |||||
"327",332,6575.28571428571 | |||||
"328",333,5883.14285714286 | |||||
"329",334,6155.28571428571 | |||||
"330",335,6258.14285714286 | |||||
"331",336,5507.57142857143 | |||||
"332",337,5044 | |||||
"333",338,5049.71428571429 | |||||
"334",339,4775.14285714286 | |||||
"335",340,4217.28571428571 | |||||
"336",341,3945.14285714286 | |||||
"337",342,3879.42857142857 | |||||
"338",343,3874.28571428571 | |||||
"339",344,3343.28571428571 | |||||
"340",345,3329 | |||||
"341",346,3255.42857142857 | |||||
"342",347,2469.71428571429 | |||||
"343",348,2478.28571428571 | |||||
"344",349,2441.14285714286 | |||||
"345",350,1511.85714285714 | |||||
"346",351,1720 | |||||
"347",352,1720 | |||||
"348",353,1363.57142857143 | |||||
"349",354,1483.57142857143 |
@ -0,0 +1,61 @@ | |||||
from sklearn import linear_model | |||||
import pandas as pd | |||||
from sklearn.metrics import mean_squared_error, r2_score | |||||
def k_days_into_future_regression(X, y, k, n0): | |||||
""" | |||||
linear regression that returns the fitted weights as well as metrics | |||||
:param X: x timeseries dataframe (very clean, no unamed columns), multidimensional rows | |||||
:param y: y timeseries dataframe (very clean, no unamed columns), scalar rows | |||||
:param k: days predicting in advance | |||||
:param n0: ignoring the first n0 days | |||||
:return: intercept, slopes, correlation, mean squared error | |||||
""" | |||||
col = "TimeSinceAugFirst" | |||||
inp = [] | |||||
out = [] | |||||
for day in y[col][n0 - 1:]: | |||||
prev = day - k | |||||
xprev = X[X[col] == prev].drop(columns=[col]).to_numpy() | |||||
if xprev.shape[0] != 1: | |||||
continue | |||||
else: | |||||
xprev = xprev[0, :] | |||||
yt = y[y[col] == day].drop(columns=[col]).to_numpy()[0, :] | |||||
inp.append(xprev) | |||||
out.append(yt) | |||||
regr = linear_model.LinearRegression() | |||||
regr.fit(inp, out) | |||||
predictions = regr.predict(inp) | |||||
mse = mean_squared_error(out, predictions)/(len(out) - 2) | |||||
r2 = r2_score(out, predictions) | |||||
return regr.intercept_, regr.coef_, r2, mse | |||||
def standard_lr(x, y): | |||||
regr = linear_model.LinearRegression() | |||||
regr.fit(x, y) | |||||
predictions = regr.predict(x) | |||||
mse = mean_squared_error(y, predictions) / (len(y) - 2) | |||||
r2 = r2_score(y, predictions) | |||||
return regr.intercept_, regr.coef_, r2, mse | |||||
def main(): | |||||
# fatigueSums = pd.read_csv("fatigue_total_sum.csv") | |||||
# workMovingAverage21 = pd.read_csv("21DaySlidingWorkAverage.csv", index_col=0) | |||||
# print(k_days_into_future_regression(workMovingAverage21, fatigueSums, 0, 21)) | |||||
wellness = pd.read_csv("../data_preparation/cleaned/time_series_normalized_wellness_menstruation.csv") | |||||
wellness = wellness.fillna(0) | |||||
x = wellness[['normSoreness', 'TimeSinceAugFirst']] | |||||
y = wellness['normFatigue'] | |||||
print(wellness.isnull().sum()) | |||||
print(standard_lr(x, y)) | |||||
if __name__ == "__main__": | |||||
main() |
@ -0,0 +1,18 @@ | |||||
,TimeSinceAugFirst,DailyElo | |||||
0,121,0.0 | |||||
1,122,-3.714599999999998 | |||||
2,178,0.04346000000000028 | |||||
3,179,2.1916710000000013 | |||||
4,180,0.0 | |||||
5,255,0.0 | |||||
6,256,0.0 | |||||
7,257,-2.520374784999996 | |||||
8,263,-2.0880156214999985 | |||||
9,264,-1.7032140593500005 | |||||
10,284,-0.6130256153877235 | |||||
11,285,2.620463284090865 | |||||
12,311,-2.076954630427971 | |||||
13,312,1.0960590427574828 | |||||
14,313,1.8954531384817344 | |||||
15,353,-0.2940921753664384 | |||||
16,354,-1.8646829578297937 |