Hi,
I
am Smit Lunagariya, an undergraduate student from Mathematics and
Computing Engineering, Indian Institute Technology-BHU. I am programming in python for one year. I am interested in Mathematics and its symbolic computation, specifically in Statistics. I have experience in
Probabilistic Machine Learning and Deep Learning.
I have undertaken
several relevant Courses related such as Probability and Statistics,
Abstract Algebra, Engineering Mathematics, NPTEL -Stochastic Process By
Dr. S. Dharmaraja (IIT-Delhi), Data Structures and Information
Technology Workshop (on Python). Currently, I am enrolled in several
institute courses such as Algorithms, Numerical Techniques, Operating
Systems, and Mathematical Methods.
I have been contributing to sympy since December 2019 and got quite familiar with the contributing guidelines and workflow.
I
would like to discuss related to the idea for GSoC 2020 in the stats module. I have prepared a rough timeline regarding this summer project.
Community Bonding Period :
As
many distributions can be added in the stats module under Discrete and
Continuous Random variable, I would like to add them as some of them
might be useful in further implementation of Joint Multivariate
Distributions. They are:
Also, I would add the .doit() method in class Probability.
While
adding these distributions I would also work upon increasing the code
coverage by adding tests and also tests of missing lines from the crv.py, drv.py, frv.py, drv_types.py, crv_types.py and frv_types.py.
Phase 1 :
Currently,
the stats module supports Markov chains and Bernoulli Process as the
stochastic processes. I would like to add more of such stochastic
processes which include:
While adding the above process, I would also work upon adding their
related tests and increasing the code coverage of the
stochastic_process_types.py.
Phase 2:
During the
beginning of this phase, I would try to clean up the remaining part of
Phase 1 and would then start implementing the following portions:
While discussing the API and implementing it, I would ensure to add
the necessary tests and work on increasing the code coverage.
Phase 3 :
During
the beginning of this phase, I would try to clean up the remaining part
of Phase 2 and would then start implementing the following portions:
While adding these distributions I would also work upon increasing
the code coverage by adding tests and also tests of missing lines from
the joint_rv.py and joint_rv_types.py.
Finally, I would complete the remaining work before the final evaluation.
I
have provided the rough timeline which I would like to follow during this project. Changes and the addition of ideas and suggestions are appreciated.
Thank you.
Please share your views on this.
Regards,
Smit Lunagariya