Can one Line of Python Win a Contest at  Microprediction.Org?
For an explanation of the names on the leaderboard, see MUID.org

Can one Line of Python Win a Contest at Microprediction.Org?

Perhaps, and that's by design.

MicroWriter(write_key=new_key(difficulty=10)).submit(name='die.json',values= sorted(([k-2.5 for k in range(6)]*38)[:225]) )        

Oops, forgot:

pip install microprediction        

and the imports. Here's a more readable and functional attempt:

from microprediction import new_key, MicroWriter

write_key       = new_key(difficulty=10)
mw              = MicroWriter(write_key=write_key)
die_rolls       = [k-2.5 for k in range(6)]*50
values          = sorted( die_rolls[:mw.num_predictions] )
res             = mw.submit(name='die.json',values=values)

print('https://api.microprediction.org/home/'+write_key)        

That was easy.

Click on the link or enter the key in your dashboard at Microprediction.Org. Take great pleasure in the fact that the tiny amount of human common sense you applied enables you to leap over some far more sophisticated algorithms ... many of whom do very well on other parts of the Microprediction.Org obstacle course only to fall flat on their face when it comes to predicting the outcome of a simple die roll.

No alt text provided for this image

Moral of this short story: inexpensive, easily accessible but effective collective intelligence can arise from the use of advanced mathematics - some of the world's best parameter search algorithms lie behind the API at Microprediction.Org for example. But algorithmic intelligence is more powerful, robust and cost effective when sprinkled with short bursts of surgically applied generalized human intelligence. Including yours.

The necessity of human involvement doesn't mean that anyone wanting a prediction needs to pay for expensive middle-men. To predict any source of live data, just publish it periodically at Microprediction.Org like so:

from microprediction import MicroPoll, new_key

difficult_key = new_key(difficulty=12)
print(difficult_key)


feed = MicroPoll(write_key = difficult_key,        
                      name = 'my_stream.json',        
                      func = my_feed_func,          
                  interval = 20)  
               
feed.run()         

Now a watched pot never boils. Don't wait for this script to run. It is a long weekend. Get outside and enjoy the sun.

The script will spend a long time burning a key with stream creation privilege (see MUID.org if you care). That is your ticket to this world of prescient quasi-human fauna. Letting everyone crash this community garden of automated time series algorithms (and less-automated ones) would violate social distancing guidelines. Don't lose your key.

But after many hours, the program will proceed to the next line and start publishing the output of your function every twenty minutes. Algorithms will notice your feed, though many will ignore it until they feel there is enough history to have a go. Still, perhaps within days, you will be able to visit Microprediction.Org to see what an intelligent combination of people and machines have to say about the future of your number 1 minute, 5 minutes, 15 minutes or 1 hr ahead. Just enter your key in the dashboard.






About me

Hi I'm the author of Microprediction: Building an Open AI Network published by MIT Press. I create open-source Python packages such as timemachines, precise and humpday for benchmarking, and I maintain a live prediction exchange at www.microprediction.org which you can participate in (see docs). I also develop portfolio techniques for Intech Investments unifying hierarchical and optimization perspectives.

Peter Cotton

Helping to build a decentralized prediction network

4 年
回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了