关于俄罗斯宪法修正案的投票异议。第1部分

于2020年6月25日至7月1日,举行了对批准俄罗斯联邦宪法修正案的全俄投票(维基百科)



这篇文章的主要目的是演示如何快速开始使用投票数据并显示其中存在某种类型的异常。



所有计算,可视化和数据解析都在Google Colab中提供,可从此Google Colab链接中获得



链接到第二部分



我们将专注于确定零方差投票的情况,即,当同一TEC中的所有PEC均等投票或方差最小时的结果。这些案件没有自然的解释,只是没有进行点票。



看起来像这样(链接到CEC页TEC 52TEC 33TEC 42TEC 19):











更多例子
















还有更多的例子






















进一步在文本“ For” =“是”中,“ Against” =“否”。



数据源



. . , .



JSON CSV . (no data, no job!). , , Telegram- RUElectionData .





  1. .
  2. , 10.00 12.00 15.00 18.00 .
  3. , .


, .



. () youtube.



18 « » . ( ) 12.00 10.00 3%, 15.00 12.00 5% ( ).





, 91%, — 90% ( ).







Runtime->Run All. 15 .



Google Drive Google account. GoogleCredentials . , . .



.



.



( « »). turnouts_05_Jul_2020_14_56.zip results_06_Jul_2020_19_05.zip RUElectionData.



df2 df1 df:



df= pd.merge(df1, df2.drop(columns=['reg']), how='inner',on=['tik', 'uik'])


transliterate:



!pip install transliterate
from transliterate import translit


:



df['turnout_pct']=df['n_ballots_all']/df['n_registered_voters']*100.
df['yes_pct']=df['yes']/df['n_ballots_polling_station']*100.
df['no_pct']=df['no']/df['n_ballots_polling_station']*100.  
df['invalid_pct']=df['n_ballots_invalid']/df['n_ballots_polling_station']*100.


:



df_original=df.copy(deep=True)


. « » «» «». 100%.



df=df[df['turnout_pct']<100.]
ax = df.plot.scatter(x='turnout_pct',y='yes_pct',label=' ()',c='DarkBlue',s=0.001)
ax = df.plot.scatter(x='turnout_pct',y='no_pct',label=' ()',c='DarkRed',s=0.001,ax=ax)




, , «» :







«» :







80%, 85%, 90% 95%.



. , , , .



. , ( ) (: A Model Is Only as Good as Its Assumptions).



« » Excel . () wiki:Median absolute deviation.



, «» . , . , 1- 2- . , , url , .



100 ‘’ 153 5570 6 . 5.5 . .



«» . .



. ().



4 , : « ».



« » 50 «»(«»).





« », . ( ) id_num . id_num 1616, 1995 2165.



id_num=1616 33 ,

( ). :





, «» ( yes_pct) 71.9%. :







, « » «». plot_top_n_results . plot_top_n_results=50 plot_top_n_results=300 .



.



import shutil
from google.colab import files
directory='/content/drive/anomaly/dispersion'
shutil.make_archive(directory, 'zip', directory)
files.download('/content/drive/anomaly/dispersion.zip')




10 . 10 . .



Facebook' .



:

https://elections.dekoder.org/ru/russia/constitution/2020/

https://www.electoral.graphics/ru-ru/



选民权利运动“ Golos” https://www.golosinfo.org/



观察者关联: https://constitution.observer/



ps感谢所有阅读的人。希望您能够使用开放源代码和数据亲自检查作者的计算。特别感谢胸痛利索夫 有趣的评论。






All Articles