ロシア憲法の改正に関する投票の異常。パート1

ロシア連邦憲法改正の承認に関する全ロシア投票は、2020年6月25日から7月1日まで開催されました(ウィキペディア)



この投稿の主な目的は、投票データの操作をすばやく開始し、特定の種類の異常の存在を示す方法を示すことです。



すべての計算、視覚化、およびデータ解析は、このGoogleColabリンクから入手できるGoogleColabで提供されます



2番目の部分へのリンク



ゼロ分散投票のケース、つまり、同じTEC内のすべてのPECが等しくまたは最小の分散で投票した場合の結果を特定することに焦点を当てます。これらのケースは、投票のカウントが実行されなかったことを除いて、自然な説明はありません。



次のようになります(CECページTEC 52TEC 33TEC 42、およびTEC 19へのリンク):











さらに多くの例
















およびその他の例






















さらに本文では、「For」=「Yes」、「Against」=「No」です。



データソース



. . , .



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/



有権者権利運動「ゴロス」 https://www.golosinfo.org/



オブザーバーの関連付け: https://constitution.observer/



ps読んでくれたみんなに感謝します。オープンソースのコードとデータを使って、自分の手で作者の計算を確認できたと思います。特別な感謝tyomitch そして リソフ 機知に富んだコメントのために。






All Articles