Analizand reddit, twitter, mass-media globala, Wikipedia, finantare, cheltuieli …

Array

si o nota de ML

Medii vechi, retele sociale, contributii, cheltuieli – atat de multe date pe care le puteti folosi pentru a intelege ce misca (si cum sa mutati) alegerile. In aceste doua videoclipuri aratam cum sa interogam si sa vizualizam terabyte de date si sa descoperim tiparele care guverneaza acest proces.

La Google I / O am facut asta, folosind datele generate si partajate de GDELT, reddit, Twitter, Wikipedia, FEC si OpenSecrets.

Array

org:

Anterior m-am asezat cu Raj Rikhy de la Bitnami, pentru a arata cum sa configurati BigQuery si re: dash pentru a vizualiza aceste date:

Poate ca intrebarea mea preferata: Sa sarim in trecut, luand sustinatorii reddit de astazi ai lui Donald Trump, Bernie Sanders si Hillary Clinton – Unde erau ei acum 4 ani?

SELECT trecut_sub, FIRST (candidateub) candidatesub, FIRST (autori) autori, ROUND (100 * FIRST (autori) / FIRST (autori_prezent), 2) procente, COUNT (*) subs

FROM (

SELECT a.subreddit past_sub, candidatesub, COUNT ( DISTINCT a.autor) autori, RANK () OVER (PARTITION BY candidatesub ORDER BY autori DESC) rang, FIRST (autori_prezent) autori_prezent, COUNT (*) c

FROM [fh-bigquery: reddit_comments.

Array

2012] a

INSCRIETI-VA (

SELECT autor, subreddit candidatesub, COUNT (*) c, COUNT (autor DISTINCT) PESTE (PARTITIE DE candidateub) autori_pentru

FROM [fh-bigquery: reddit_comments.2016_03]

WHERE scor> 5

SI subreddit IN (

„SandersForPresident”,

„The_Donald”,

„hillaryclinton”

)

GRUPA CU 1,2

AVAND c> 2

) b

ON a.

author = b.author

WHERE a.score> 3

GROUP DE 1,2

AVAND autori> 15 AND c> 1

)

WHERE rang <= 60

GROUP BY 1

HAVING subs = 1

ORDER by 2, 4 DESC

Asa este: aceasta interogare arata ca sustinatorii Bernie de astazi au contribuit la / r / space si r / occupywallstreet in 2012. Intre timp, sustinatorii Trump au contribuit la / r / guns, / r / MensRights si / r / ronpaul (vezi graficul pentru Mai mult). Reddit are mai putini sustinatori Hillary, deci istoria lor nu este la fel de semnificativa statistic, dar unele dintre redditurile din 2012 legate de adeptii ei de astazi sunt / r / lgbt, / r / relatie, o gramada de sportivi si / r / EnoughPaulSpam. Fapte interesante „sustinute de date”.

Si daca sunteti in cautarea unei interogari monstru: Ce zici de masurarea tuturor valorilor lui Bernie Sander in Wikipedia, reddit si media din intreaga lume (GDELT):

Selectati sursa, zi, AVG (normalizat) PESTE (PARTITIE PE SURSA ORDINA IN

RANDURI DE ZI INTRE 6 RANDURI PRECEDENTE SI CURENTE) ca normalized_mentions FROM (

Sursa SELECT, zi, mentiuni / max_mention ca normalizate FROM (SELECT sursa, zi, mentiuni, MAX ( mentiuni) PESTE (PARTITIE PE sursa) ca max_mention FROM (

SELECT „gdelt” ca sursa, zi, INTEGER (mentioneaza) ca mentiuni,

FROM [cloude-sandbox: tigani_views.candidate_first_mentions_by_day]

unde candidate = „bernie sanders”

), (

SELECT „ reddit ”ca sursa, zi, INTEGER (mentiuni) ca mentiuni, FROM (

SELECT

TIMESTAMP (DATE (SEC_TO_TIMESTAMP (created_utc)))) zi,

bx,

SUM (LOWER (body) CONTAINS bx) mentiuni,

COUNT (DISTINCT IF (LOWER (body) CONTAINS bx, author, null)) autori,

FROM

(SELECT * FROM [fh-bigquery: reddit_comments.all_starting_201501] WHERE score> 5) a,

CROSS JOIN (SELECT ‘bernie sanders’ x) b

GROUP BY 1, 2

)), (

SELECT „wiki” ca sursa, TIMESTAMP (DATE (datehour)) ca zi, SUM (solicitari) ca mentiuni

FROM TABLE_QUERY ([fh-bigquery: wikipedia],

„table_id contine„ pagecounts_ ” si INTEGER (DREAPTA (table_id, 6))> 201501 ”)

WHERE title IN (‘Bernie_Sanders’)

AND language = ‘en’

GROUP BY day

)

))

ORDER BY day, sursa

Atentie inainte de a rula aceasta interogare – depaseste 5 TB de date!

Ultima interogare pentru acest post: Care au fost cei mai eficienti candidati in transformarea donatiilor in delegati efectivi in timpul primarelor (in functie de stat)?

SELECT *, ROUND (a.amount / b.delegates, 0) ratio_delegates, ROUND (a.amount / b.votes, 0) ratio_votes FROM (

SELECT destinatar, stat,

FIRST (REGEXP_EXTRACT (destinatar, ‘, (. *)’ ) + ” + REGEXP_EXTRACT (destinatar, ‘(. *),’)) Candidat,

SUM (suma) suma,

SUM (IF (b.party = ‘R’, – 1,1) * suma) suma_n,

COUNT ( DISTINCT contribid) c,

SUM (c) OVER (PARTITION BY recipient) c_tot,

FROM [fh-bigquery: opensecrets.indivs16v2] a

JOIN (SELECT cid, FIRST (party) party FROM [fh-bigquery: opensecrets.cands16] WHERE distidrunfor = ‘PRES’ GRUPA CU 1) b

ON a.recipid = b.cid

UNDE A STANGUT (cod real, 2)! = ‘Z9’

GRUPA CU 1,2

AVAND c> 10

) a

JOIN [fh-bigquery: opensecrets.primaries_results] b

ON a.candidate = b.candidate

AND a.state = b.state_abbrev

Urmariti videoclipul pentru a vedea mai multe detalii sau alaturati-va mie / r / bigquery pentru a discuta!

– @FelipeHoffa