Как я могу найти исходный код для scipy.stats.mvn? - PullRequest
0 голосов
/ 01 ноября 2018

Я использовал функцию mvn.mvnun() в модуле scipy.stats, чтобы вычислить CDF данного многомерного нормального распределения в моей статье. Рецензент спросил меня, как я оцениваю CDF, поскольку у CDF нет закрытой формы. Я думаю, что метод выборки может быть использован. Чтобы узнать, как это работает, я искал репозиторий с исходным кодом scipy. Однако в папке scipy.stats я не увидел mvn.py, вместо этого увидел mvn.pyf.

В этом файле mvn.mvnun выглядит следующим образом:

!    -*- f90 -*-
! Note: the context of this file is case sensitive.

python module mvn ! in 
    interface  ! in :mvn
        subroutine mvnun(d,n,lower,upper,means,covar,maxpts,abseps,releps,value,inform) ! in :mvn:mvndst.f
            integer intent(hide) :: d=shape(means,0)
            integer intent(hide) :: n=shape(means,1)
            double precision dimension(d) :: lower
            double precision dimension(d) :: upper
            double precision dimension(d,n) :: means
            double precision dimension(d,d) :: covar
            integer intent(optional) :: maxpts=d*1000
            double precision intent(optional) :: abseps=1e-6
            double precision intent(optional) :: releps=1e-6
            double precision intent(out) :: value
            integer intent(out) :: inform
        end subroutine mvnun

Однако, нет подробного определения этой функции. Мне было интересно, где я могу найти исходный код для mvnun, который сообщает мне, как он рассчитывает CDF?

1 Ответ

0 голосов
/ 01 ноября 2018

Реализация написана на фортране. Этот файл pyf определяет интерфейс для функции Fortran в mvndst.f

...