rajeshrinet / pyross

PyRoss: inference, forecasts, and optimised control of epidemiological models in Python. github.com/rajeshrinet/pyross
https://pyross.readthedocs.io
MIT License
169 stars 57 forks source link

Unable to install pyross - error: Unable to find vcvarsall.bat #5

Closed anisengupta closed 4 years ago

anisengupta commented 4 years ago

Hello

I am encountering this error when attempting to install pyross: error: Unable to find vcvarsall.bat. I have cloned the repository from github but I cannot seem to run the last command: python setup.py install.

Thanks, Aniruddha

rajeshrinet commented 4 years ago

@anisengupta are you running it on Windows? We are aware that our compilation is having some issues with Windows. Please can I suggest to use binder (Binder) while we fix the problem specific to Windows?

Please click on the Binder link in the README.md. Please be patient while it loads but after that, there is no difference in running from your own computer.

anisengupta commented 4 years ago

Hi @rajeshrinet, yes I am running it on Windows, ive tried to relevant batchfile and install a separate c++ compiler but I have had no such luck yet. I will use binder in the meantime, thanks so much.

rajeshrinet commented 4 years ago

Thanks.

rajeshrinet commented 4 years ago

There is now a solution for the above problems at https://github.com/rajeshrinet/pyross/issues/14

anisengupta commented 4 years ago

Hi Rajesh

Thanks so much, I will try implementing this and performing my own analysis. I just wanted to say that your paper was fantastic and I thoroughly enjoyed reading it. I thought it was very informative and the illustrations were very clear in outlining the effect that the lockdown the Indian goverment is imposing.

Thanks, Aniruddha

rajeshrinet commented 4 years ago

Hi Aniruddha

Thanks very much for your kind words. We very much appreciate it.

Best wishes, Rajesh

anisengupta commented 4 years ago

Hi Rajesh

I am trying to run my own anlaysis on the UK using Pyross, I have selected all the contact matrices to include UK data as well as use UK population and age classes:

image

I also saw that you don't have case data for the UK, so I have imported a JSON file from the European Center for Disease Control instead. The forecast I get however is minuscule to the real number of covid-19 cases in the UK:

image

Do you know why this might be? What others factors do I need to change to simulate your analysis but on the UK?

Thanks, Aniruddha

rajeshrinet commented 4 years ago

Hi Aniruddha

Thanks for the explanation. I think a larger value of beta is needed for the UK data. It is possible to find an optimal beta automatically as shown in this example.

To use this in your case, you will have to replace the lines which point to the Indian data and update it to point to the UK data. In principle, the simulation should fit the data when available and then forecast for the unseen scenario. Hope this helps.

Best, Rajesh

anisengupta commented 4 years ago

Hi Rajesh

Hope that you are well.

I am currently trying to implement the age structured SIR model for the UK and there are a couple of problems I wanted to flag by you to get your thoughts. Firstly, I used the UK data to find the value of beta which turns out to smaller than the Indian one. This make sense since beta is the infection rate which should be much smaller for the UK since its less densely populated than India. However, you said that a larger value of beta is needed, why would this be the case?

I also noticed that for the contact matrices for the UK, the matrix of total contacts only has an index upto 14, so I have had to change the number of age classes (M) to 14. This however, gives me a reproduction rate that is suspiciously low:

image

When I then simulated the model for the UK, plotting it along with UK case data. I was seeing that the model was not at all capturing the number of cases so far seen in the UK. Closer inspection revealed that the model was predicting a reverse exponential of the number of cases in the UK, with the number of cases being much too low:

image

Do you know why this would be the case? Will I need to change the contact matrix data for the UK?

Appreciate your help on this matter again and hope that you and your family are safe during these uncertain times,

Aniruddha

rajeshrinet commented 4 years ago

Hi Aniruddha

Sorry for the tardy reply. This example may be helpful. In particular, it shows how to get the 16x16 contact matrix for the UK. It also extends the usual SIR model to allow for more susceptible and asymptomatic infectives to join the population. Moreover, there is now a possibility to make a fraction of the recovered population susceptible. Hope it is helpful.

I also extend my best wishes to you, Rajesh

anisengupta commented 4 years ago

Hi Rajesh

Hope that you are well.

I have done some work now on trying to utilise your SIR model onto UK data. The results can be found here: https://github.com/anisengupta/SIR-analysis-on-Covid-19. I stressed in the description that this work is entirely credited to yourself and R Adhikari and all I simply did was to point the model towards the UK data.

The results I found were similar to your findings for India; one lockdown is insufficient and a series of lockdowns looks to be most effective in order to take pressure off the NHS. I have only used March data and again I stress, this was something done just in my spare time and improve my skills in Python. This is in no way, a comprehensive analysis on trying to model the scale of this epidemic in the UK.

It would be interesting to get your thoughts on this and the models and predictions are only rough as I have used much of the same parameters you did for your Indian analysis.

Thanks and have a good weekend, Aniruddha