{"id":17376108,"url":"https://github.com/cranmer/poisson-convolution-sum","last_synced_at":"2025-04-15T08:18:05.522Z","repository":{"id":71379656,"uuid":"145642304","full_name":"cranmer/poisson-convolution-sum","owner":"cranmer","description":"Implements an infinite sum of poisson-weighted convolutions","archived":false,"fork":false,"pushed_at":"2018-08-22T18:34:36.000Z","size":170,"stargazers_count":26,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T08:17:53.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cranmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-22T02:00:42.000Z","updated_at":"2024-01-04T16:25:37.000Z","dependencies_parsed_at":"2023-02-22T17:16:03.269Z","dependency_job_id":null,"html_url":"https://github.com/cranmer/poisson-convolution-sum","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cranmer%2Fpoisson-convolution-sum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cranmer%2Fpoisson-convolution-sum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cranmer%2Fpoisson-convolution-sum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cranmer%2Fpoisson-convolution-sum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cranmer","download_url":"https://codeload.github.com/cranmer/poisson-convolution-sum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249031822,"owners_count":21201358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-16T04:43:06.325Z","updated_at":"2025-04-15T08:18:05.498Z","avatar_url":"https://github.com/cranmer.png","language":"Jupyter Notebook","readme":"# An infinite sum of Poisson-weighted convolutions\n\nKyle Cranmer, Aug 2018\n\nIf viewing on GitHub, this looks better with nbviewer: [click here](http://nbviewer.jupyter.org/github/cranmer/poisson-convolution-sum/blob/master/Poisson-weighted-convolutions.ipynb)\n\n[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/cranmer/poisson-convolution-sum/master?filepath=Poisson-weighted-convolutions.ipynb)\n\nConsider a variable x that comes from a sum of n iid samples of z, where n is Poisson distributed. \nThe distribution of x is given by an infinite sum of Poisson-weighted convolutions, which can be computed efficiently with a nice trick documented in *Analytic Confidence Level Calculations using the Likelihood Ratio and Fourier Transform* by Hongbo Hu and Jason Nielsen https://arxiv.org/pdf/physics/9906010.pdf. See also [this old paper](https://arxiv.org/abs/physics/0312050) and this [code](http://phystat.org/phystat/packages/0703002.1.html) for a C++ implementation.\n\nFirst we take advantage of the convolution theorem relating convolutions to multiplication in the Fourier domain\nand then we can compress the infinite sum into an exponential.\n\nThe notebook in this repository implements the technique using pytorch. An interesting feature of implementing this in pytorch is that we can backprop through the inverse FFT, the exponentiation, the multplication, the subtraction, and forward FFT to calculate the gradient with respect to the Poisson mean and the parameters for the distribution of z. The notebook demonstrates such a fit.","funding_links":[],"categories":["Paper implementations｜论文实现","Paper implementations"],"sub_categories":["Other libraries｜其他库:","Other libraries:"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcranmer%2Fpoisson-convolution-sum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcranmer%2Fpoisson-convolution-sum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcranmer%2Fpoisson-convolution-sum/lists"}