Giter Site home page Giter Site logo

Comments (14)

s-mishra avatar s-mishra commented on July 28, 2024 1

No we don't have it. It is a research related code not a production code.

from covid19model.

arrayofletters avatar arrayofletters commented on July 28, 2024 1

Cripes... All code is production if you think the results are important.

from covid19model.

dooglio avatar dooglio commented on July 28, 2024

Thanks guys. Nice work. A model whose output has affected all our lives and didn't bother to put in unit tests?!

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

The best/quickest way to get confidence in models like this is not to unit test the code (although of course that is nice too) but to compare the outputs of multiple models built by different groups and reconcile/compare them.

from covid19model.

turzes avatar turzes commented on July 28, 2024

Exactly! Its a domain specific model validation exercise, predictive or causal- preferably both, through rigorous statistical method that justifies the model- the code is by necessity validated through the research and current process given we have all pulled it apart and put it back together.

from covid19model.

dooglio avatar dooglio commented on July 28, 2024

The problem with that is, we programmers don't have access to those other models so we're kinda taking your word that the data matches up. If you include unit tests, however, it give us a chance to verify that the code is right in the archive itself.

It also saves you time in the long run because you can catch errors immediately rather than having to wait until you have the output from the other models then go through and compare everything.

Forgive me, but it feels like you're making excuses instead of agreeing that best practices are, well, best followed.

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

You have access to those other models as well. In the USA there are about 20 modeling groups I'm tracking. A bunch of them publish to https://reichlab.io/covid19-forecast-hub/. Their forecasts are all displayed there and you can compare them nationally or per state. The good ones also share a whitepaper and/or code.

Again, I'm not saying that unit tests are bad — they're clearly good — but when evaluating a model, checking its unit tests should not be high on your priority list of things to do.

Let me be specific. If you're concerned about the accuracy of this model, since this model uses deaths as its principal input, compare it to https://covid-19.tacc.utexas.edu/mortality-projection-faq/. Or go one step broader and compare to http://www.healthdata.org/covid

from covid19model.

dooglio avatar dooglio commented on July 28, 2024

Well, if you are writing models for internal use and just playing with data, I don't really care. But if your models are going to be used for public policy, then shoddy development practices are in my mind unacceptable. Your code better be stellar.

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

Your code better be stellar.

People aren't using the code. They're using the outputs of the model. It's the outputs that had better be stellar. And speed is a feature. Great outputs in two years do nothing to save lives. So the design challenge is the speed-vs-quality tradeoff.

If this model were the only model in the world, and public policy teams were slavishly relying on it regardless of what it said, it would be a different story. In a world without other models, it's super important to get top quality.

But it's not the only model. Any sane public policy team looks at multiple models, and decides how much to believe each of them, and is skeptical about outliers.

So if there's a bug in this model that materially affects its outputs, it will look like an outlier, and get extra scrutiny / less weight from public policy teams. And each team's errors are likely to be in different directions.

So your insistence on unit tests is effectively saying that in the speed-vs-quality tradeoff, whatever impact unit tests have on that tradeoff are utility-improving. But you give no support for that assertion. Especially in the multiple-models context it's not at all obvious to me that the lower-speed-but-higher-quality you get from unit tests is a net win.

And I know that for many dev teams, unit tests ultimately mean you can go faster. But this isn't any dev team, it's the ICL dev team. And if they're not familiar with test-first development, and they don't have volunteers swooping in to teach/help them, then it's not so relevant. You go to war with the army you have.

from covid19model.

dooglio avatar dooglio commented on July 28, 2024

Lack of unit tests is just a symptom of not caring about best practices in your code. Since you seem so determined to avoid following best practices, and shooting the messenger instead, I'm not going to think highly of your project.

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

I have nothing to do with this project. I'm just an interested bystander like yourself.

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

You also aren't interacting with anything I've actually said.

from covid19model.

dooglio avatar dooglio commented on July 28, 2024

I've said my piece, I consider your objections as nothing more than red herrings to my argument. Thanks. I'm unsubscribing now from this thread.

from covid19model.

dsjoerg avatar dsjoerg commented on July 28, 2024

They care more about saving lives than about best practices and your approval. Nice having you here.

from covid19model.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.