From 326fa6610e9fefd5bd130a9a1906fe0a98cdeba1 Mon Sep 17 00:00:00 2001 From: Danilo Ferreira de Lima <danilo.enoque.ferreira.de.lima@xfel.de> Date: Fri, 17 Feb 2023 14:50:27 +0100 Subject: [PATCH] Using Z-value for the consistency check. --- pes_to_spec/__init__.py | 2 +- pes_to_spec/model.py | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pes_to_spec/__init__.py b/pes_to_spec/__init__.py index 1547ba6..d155d94 100644 --- a/pes_to_spec/__init__.py +++ b/pes_to_spec/__init__.py @@ -2,4 +2,4 @@ Estimate high-resolution photon spectrometer data from low-resolution non-invasive measurements. """ -VERSION = "0.0.4" +VERSION = "0.0.5" diff --git a/pes_to_spec/model.py b/pes_to_spec/model.py index af76147..ba514a8 100644 --- a/pes_to_spec/model.py +++ b/pes_to_spec/model.py @@ -772,11 +772,12 @@ class Model(TransformerMixin, BaseEstimator): for ch in channels} chi2 = {ch: np.sum(deviation[ch]**2, axis=1, keepdims=True) for ch in channels} - cutoff = {ch: scipy.stats.chi2.ppf(0.05, df=deviation[ch].shape[1] - 1) + chi2_mu = {ch: scipy.stats.chi2.mean(ndof[ch]) + for ch in channels} + chi2_sigma = {ch: scipy.stats.chi2.std(ndof[ch]) + for ch in channels} + return {ch: (chi2[ch] - chi2_mu[ch])/chi2_sigma[ch] for ch in channels} - ts = {ch: (chi2[ch] - cutoff[ch])/ndof[ch] - for ch in channels} - return ts # checking channel relevance #pca_model = self.x_model['pca'] @@ -812,9 +813,9 @@ class Model(TransformerMixin, BaseEstimator): deviation = (low_pca - self.x_pca_mean)/self.x_pca_std ndof = float(deviation.shape[1] - 1) chi2 = np.sum(deviation**2, axis=1, keepdims=True) - cutoff = scipy.stats.chi2.ppf(0.05, df=deviation.shape[1] - 1) - ts = (chi2 - cutoff)/ndof - return ts + chi2_mu = scipy.stats.chi2.mean(ndof) + chi2_sigma = scipy.stats.chi2.std(ndof) + return (chi2 - chi2_mu)/chi2_sigma #low_pca_rec = pca_model.inverse_transform(low_pca) #low_pca_unc = self.x_model['unc'].uncertainty() -- GitLab