wip
This commit is contained in:
15
its.py
15
its.py
@@ -1,14 +1,13 @@
|
||||
import sys
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import os
|
||||
import statsmodels.api as sm
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from common import calc_intervals, printnoln, rprint, DAYS_NEW_USER
|
||||
from common import calc_intervals, printnoln, rprint, DAYS_NEW_USER, difftime
|
||||
from loader import load, dmt, cms
|
||||
from sentiments import readtoxleveltxt
|
||||
|
||||
@@ -58,7 +57,7 @@ def main(folder, intervl):
|
||||
avgcount = np.mean([x for x in count if str(x) != "nan"])
|
||||
stdcount = np.std([x for x in count if str(x) != "nan"])
|
||||
for i in range(len(count)):
|
||||
if str(count[i]) == "nan" or np.abs((count[i] - avgcount) / stdcount) > 3:
|
||||
if str(count[i]) == "nan": # or np.abs((count[i] - avgcount) / stdcount) > 3:
|
||||
datasingle[i] = float("nan")
|
||||
data[i] = float("nan")
|
||||
count[i] = float("nan")
|
||||
@@ -120,7 +119,7 @@ def main(folder, intervl):
|
||||
file.write(str(res.summary()))
|
||||
|
||||
fig = plt.figure(figsize=(16, 12))
|
||||
plt.plot([i[0] for i in intervals], data, label="average sentiment")
|
||||
plt.plot([difftime(i[0]) for i in intervals], data, label="average sentiment")
|
||||
plt.grid(True)
|
||||
for i in range(len(data)):
|
||||
va = "center"
|
||||
@@ -139,12 +138,12 @@ def main(folder, intervl):
|
||||
va = "bottom"
|
||||
else:
|
||||
va = "top"
|
||||
plt.text(intervals[i][0], data[i], ("n=" if i == 0 else "") + str(len(datasingle[i])), ha="center", va=va)
|
||||
plt.plot([intervals[i][0] for i in range(len(datasingle)) for j in datasingle[i]], its2ols, label="sm single ITS (pvalues " + str(p2) + ")")
|
||||
plt.text(difftime(intervals[i][0]), data[i], ("n=" if i == 0 else "") + str(len(datasingle[i])), ha="center", va=va)
|
||||
plt.plot([difftime(intervals[i][0]) for i in range(len(datasingle)) for j in datasingle[i]], its2ols, label="sm single ITS (pvalues " + str(p2) + ")")
|
||||
# print("shape: " + str(np.shape(thresdata)))
|
||||
for (ti, t) in enumerate(thresholds):
|
||||
# print("shape1: " + str(np.shape(thresdata[ti])))
|
||||
plt.plot([thresiv[ti][i][0] for i in range(len(thresdata[ti])) for j in thresdata[ti][i]], thresols[ti], label="thres ITS " + str(t) + " months (pvalues " + str(thresp[ti]) + ")")
|
||||
plt.plot([difftime(thresiv[ti][i][0]) for i in range(len(thresdata[ti])) for j in thresdata[ti][i]], thresols[ti], label="thres ITS " + str(t) + " months (pvalues " + str(thresp[ti]) + ")")
|
||||
plt.title("Average sentiments for new users")
|
||||
plt.xticks(rotation=90)
|
||||
plt.xlabel("months")
|
||||
|
||||
Reference in New Issue
Block a user