Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Numerical Instability in Tests

オープン
#365 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python
領域
testing-qa

調査の方向性

Start with TestLaplaceDistribution.test_check_statistics_for_geo_unit_values and reproduce the failure in CI or the reported test environment. Investigate the sampling statistics and assertion tolerance; done means the test no longer flakes or fails while preserving meaningful checks for the Laplace distribution.

索引モデルが issue の本文から書いたものです。

説明

Type: Bug :bug:

Description

I have noticed one of the tests flaps and sometimes fails, I guess its due to some numerical instability?
https://github.com/OpenMined/PyDP/runs/2679233108?check_suite_focus=true

Screen Shot 2021-05-27 at 12 21 47 pm
______ TestLaplaceDistribution.test_check_statistics_for_geo_unit_values _______
[gw1] linux -- Python 3.6.13 /home/runner/.cache/pypoetry/virtualenvs/pydp-KC8mieZ4-py3.6/bin/python

self = <test_distributions.TestLaplaceDistribution object at 0x7fe191d630b8>

    def test_check_statistics_for_geo_unit_values(self):
    
        ld = LaplaceDistribution(epsilon=1.0, sensitivity=1.0)
        samples = [ld.sample(scale=1.0) for _ in range(k_num_geometric_samples)]
        mean = dp.util.mean(samples)
        var = dp.util.variance(samples)
    
        assert expect_near(0.0, mean, 0.01)
        assert expect_near(2.0, var, 0.1)
        assert expect_near(0.0, skew(samples, mean, math.sqrt(var)), 0.1)
>       assert expect_near(3.0, kurtosis(samples, mean, var), 0.1)
E       assert False
E        +  where False = expect_near(3.0, 3.1097853317836956, 0.1)
E        +    where 3.1097853317836956 = kurtosis([-0.18739762318364228, 0.19336953977835947, 2.2439366761800557, -0.120824026083028, 0.3653907802163303, 2.181137632465834, ...], 0.00018447984155104587, 2.0099539175529073)

How to Reproduce

See CI

Expected Behavior

Not failing.

Screenshots

See above

System Information

See Link

Additional Context

See above link

主要言語
Python
スター
550
フォーク
143
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OpenMined/PyDP のほかの issue

OpenMined/PyDP の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。