[SciPy-Dev] GSoC'17: Circular statistics

Evgeni Burovski evgeny.burovskiy at gmail.com
Thu Mar 16 11:46:00 EDT 2017


Hi,

On Sun, Mar 12, 2017 at 12:11 AM,  <josef.pktd at gmail.com> wrote:
> On Sat, Mar 11, 2017 at 2:50 PM, Vladislav Iakovlev <iavlaserg at gmail.com> wrote:
>> Hello!
>>
>>
>> My name is Vladislav Iakovlev. I am a master student of Department of
>> Applied Math, HSE University, Moscow, Russia. I have never contributed to
>> open source projects, but I would be happy to start it with SciPy.
>>
>>
>> I noticed that existing functionality for circular statistics is
>> insufficient. So, I want to suggest an idea for GSoC: implement it to
>> scipy.stats. My plan is to do it through the next steps:
>>
>> 1)      Develop the class rv_circular, analogous to rv_continuous adjusted
>> to circular statistic functions.
>>
>> 2)      Develop derived classes for circular distributions.
>>
>> 3)      Develop point estimations and statistical tests functions.
>>
>> During the summer, I assume to implement materials from chapters 1-8 of the
>> book “MARDIA, K. V. AND JUPP , P. E. (2000), Directional Statistics, John
>> Wiley”, documentation and unit tests for it.
>>
>>
>> Is this idea interesting for the Community? I’m glad to any feedback.
>>
>>
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> https://mail.scipy.org/mailman/listinfo/scipy-dev
>>



Full disclosure: I work at HSE where Vladislav is a student and we are
in touch off-line.


> More general question: What should be the future of circular stats in python?

My personal take is that basic things are in scope for scipy and more
advanced things are better suited for statsmodels (e.g., a regression
w.r.t. a circular variable? maybe except the analog of
scipy.stats.linregress).

There is certainly room for rv_circular variable
(https://github.com/scipy/scipy/issues/4598#issuecomment-77359593).
There is a series of PRs from astropy which stall because of backwards
compat: https://github.com/scipy/scipy/pull/5747, also
https://github.com/scipy/scipy/issues/6644

I personally find it a bit odd to have to install the whole of astropy
to do a one-off calculation of a circular median or something like
that. But it can be just me :-).
If astropy devs want to collaborate, all the better.

IMO, this can be a small subpackage in scipy.stats,
scipy.stats.circular (a made-up name).

> https://github.com/circstat/pycircstat is a python translation of the
> matlab toolbox. It doesn't have a license (MIT is commented out in
> setup.py) but the original matlab toolbox was BSD licensed on the file
> exchange.

The (lack of a) license is a bit of a problem. It also seems to depend
on pandas.


> I worked on circularstats for several months in 2012 and didn't look
> at it since then. I also translated the matlab toolbox and added some
> more parts based on Mardia.
> http://josef-pkt.github.io/pages/packages/circularstats/circular.html
> table of content only, I never open sourced it. (*)

Would you be interested in working on this again? (working, advising,
reviewing, some other form of participation?)

Cheers,

Evgeni



More information about the SciPy-Dev mailing list