sys.path.insert(1, '../src/MyAIGuide/utilities')

import pickle
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from scipy import stats
from dataFrameUtilities import check_if_zero_then_adjust_var_and_place_in_data, insert_data_to_tracker_mean_steps, subset_period, transformPain, predict_values
from sklearn.preprocessing import MinMaxScaler

# Getting data
input = open("../data/preprocessed/preprocessedDataParticipant2.txt", "rb")
data = pickle.load(input)
input.close()

data["kneepain"] = transformPain(data["kneepain"])

# Plotting results
fig, axes = plt.subplots(nrows=6, ncols=1)
# Steps
cols = [
    'movessteps', 'cum_gain_walking', 'googlefitsteps', 'elevation_gain',
    'oruxcumulatedelevationgain', 'kneepain'
]
for idx, val in enumerate(cols):
    if val == 'oruxcumulatedelevationgain':
        data[val].plot(ax=axes[idx],
                       color='green',
                       marker='o',
                       linestyle='dashed',
                       markersize=2)
    period6, data, "elevation_gain", "fitbitFloors",
    "tracker_mean_denivelation")
[data, reg] = check_if_zero_then_adjust_var_and_place_in_data(
    period7, data, "elevation_gain", "fitbitFloors",
    "tracker_mean_denivelation")

# Filling the "tracker_mean_denivelation" column for time before Participant1 started recording it
data.loc[data.index < "2016-09-01", "tracker_mean_denivelation"] = np.mean(
    data.loc[data.index >= "2016-09-01"]["tracker_mean_denivelation"].tolist())

# Filling the "generalmood" column for time before Participant1 started recording it
data.loc[data.index < "2016-11-07", "generalmood"] = np.mean(
    data.loc[data.index >= "2016-11-07"]["generalmood"].tolist())

# Transforming pain scale
data["kneePain"] = transformPain(data["kneePain"])
data["handsAndFingerPain"] = transformPain(data["handsAndFingerPain"])
data["foreheadAndEyesPain"] = transformPain(data["foreheadAndEyesPain"])
data["forearmElbowPain"] = transformPain(data["forearmElbowPain"])
data["aroundEyesPain"] = transformPain(data["aroundEyesPain"])
data["shoulderNeckPain"] = transformPain(data["shoulderNeckPain"])
data["sick_tired"] = transformPain(data["sick_tired"])
data["painInOtherRegion"] = transformPain(data["painInOtherRegion"])
data["maxPainOtherThanKnee"] = data[[
    "handsAndFingerPain", "foreheadAndEyesPain", "forearmElbowPain",
    "aroundEyesPain", "shoulderNeckPain", "sick_tired", "painInOtherRegion"
]].max(axis=1)

# Selecting the time interval to look at the data
data = subset_period(data, "2016-01-05", "2022-03-26")
예제 #3
0
    data.loc[data.index >= "2016-11-07"]["generalmood"].tolist())

# Adjusting WhatPulse for missing data (0 values)
period1 = ("2015-12-26", "2020-12-29")  #("2015-12-26", "2020-02-01")
data["whatPulseT_corrected"] = data["whatPulseT"]
[data, reg] = check_if_zero_then_adjust_var_and_place_in_data(
    period1, data, "manicTimeDelta", "whatPulseT", "whatPulseT_corrected")

# Adjusting ManicTime for missing data (0 values)
period1 = ("2015-12-26", "2020-12-29")  #("2015-12-26", "2020-02-01")
data["manicTimeDelta_corrected"] = data["manicTimeDelta"]
[data, reg] = check_if_zero_then_adjust_var_and_place_in_data(
    period1, data, "whatPulseT", "manicTimeDelta", "manicTimeDelta_corrected")

# Pain in Various locations
data["kneePain"] = transformPain(data["kneePain"])
a = data["handsAndFingerPain"].tolist()
b = data["forearmElbowPain"].tolist()
data["fingerHandArmPain"] = transformPain(
    np.array([max(a[i], b[i]) for i, val in enumerate(a)]))
data["shoulderNeckPain"] = transformPain(
    data["shoulderNeckPain"])  # add this to the previous???
a = data["foreheadAndEyesPain"].tolist()
b = data["aroundEyesPain"].tolist()
data["foreheadEyesPain"] = transformPain(
    np.array([max(a[i], b[i]) for i, val in enumerate(a)]))
data["sick_tired"] = transformPain(data["sick_tired"])

# Cycling
data["cycling"] = data["roadBike"] + data["mountainBike"]