diff --git a/scripts/device_ratio_pdr.py b/scripts/device_ratio_pdr.py new file mode 100644 index 0000000..df9e2ab --- /dev/null +++ b/scripts/device_ratio_pdr.py @@ -0,0 +1,47 @@ +import scipy.stats +import pandas as pd +import os +import numpy as np +import matplotlib.pyplot as plt + +curdir = os.getcwd() +path_delim = '/' +df = pd.read_excel(curdir + path_delim + "data/tests_28_10_2023_19_16.xlsx", sheet_name="data") + +df = df[["calculatedRatio", "deviceRatio", "led1Average", "led1Buffer", "led1Sample", "led2Average", "led2Buffer", "led2Sample"]] +# print(df.to_numpy()) + +# # Contingency table +# observed = [ +# [25, 15, 10], +# [10, 20, 15], +# [15, 10, 20] +# ] + +observed = df +# # Perform the chi-square test for independence +chi2, p, dof, expected = scipy.stats.chi2_contingency(observed) + +print(f"Chi-square statistic: {chi2}") +print(f"P-value: {p}") +print(f"Degrees of freedom: {dof}") +print("Expected frequencies:") +print(expected) + +df['calculatedRatio'].plot.kde() +df['deviceRatio'].plot.kde() +# plt.legend(['calculatedRatio']) +plt.legend(["calculatedRatio", "deviceRatio"], loc ="upper right") +plt.show() + +# Observed frequencies +observed = np.array(df['led1Buffer'].to_numpy()) + +# Expected frequencies +expected = np.array(df['led2Buffer'].to_numpy()) # Assuming equal expected frequencies + +# Perform the chi-square goodness-of-fit test +chi2, p = scipy.stats.chisquare(observed, f_exp=expected) + +print(f"Chi-square statistic: {chi2}") +print(f"P-value: {p}") \ No newline at end of file