0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu PPAのSDAPSパッケージでレポートの標準偏差がおかしくなる問題への対応

Last updated at Posted at 2018-03-22

背景

UbuntuではSDAPSを使うためのパッケージを作者が提供しています。
残念ながら、2017年末にみつかったレポートでの標準偏差が異常値となるバグの問題があり、レポートの標準偏差が明かにおかしくなります。

解決策

上記リンクの最後に作者のパッチが添付されています。手で修正したdiffは以下のようになりました。

.../sdaps/calculate.py
--- /usr/lib/python2.7/dist-packages/sdaps/calculate.py.20180320        2017-07-17 06:16:41.000000000 +0900
+++ /usr/lib/python2.7/dist-packages/sdaps/calculate.py 2018-03-20 22:56:20.107821458 +0900
@@ -183,14 +183,15 @@
 
             if self.range_count > 0:
                 for key in self.range_values:
-                    self.standard_deviation += self.range_values[key] * pow(key - self.mean, 2)
                     self.mean += key * self.range_values[key]
+                self.mean = self.mean / float(self.range_count)
 
-                    # Also devide by count
-                    self.range_values[key] = self.range_values[key] / float(self.count)
-
+                for key in self.range_values:
+                    self.standard_deviation += self.range_values[key] * pow(key - self.mean, 2)
                 self.standard_deviation = math.sqrt(self.standard_deviation / float(self.range_count))
-                self.mean = self.mean / float(self.range_count)
+
+                for key in self.range_values:
+                    self.range_values[key] = self.range_values[key] / float(self.count)
 
                 if hasattr(self, 'ref_count'):
                     self.significant = abs(self.mean - self.ref_mean) > 0.1

レポートの再生成

reportのみを再度行なうことで、平均や標準偏差が出力されるようになります。念のためcsv exportで出力した結果から再計算してみたところ、約160名分の手持ちのデータについて、無回答の項目を除いた値は同じ平均・標準偏差になるところまでは確認しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?