Open Data e Immigrazione se l’Italia fosse come la Nuova Zelanda

Questo post non dovrebbe essere sull’Immigrazione Neozelandese (in realtà il rilascio di Visti), il Viminale e gli Open Data, avevo promesso a Davide, un alumno di InnovAction Lab, che avrei discusso dell’importanza di non avere l’app di Facebook sul cellulare per evitare distrazioni e restare focalizzati.

In sintesi se andate su questo sito statistico della Nuova Zelanda (dove hanno girato il Signore degli Anelli), con estrema facilità potete scaricare tutti i dati sui Visti rilasciati dal 2001 ad oggi.

Basta andare nella sezione Turismo-International Travel e Migration ecc.. http://archive.stats.govt.nz/infoshare/

Volete fare lo stesso lavoro con un data base italiano?

http://www.interno.gov.it/it/servizi/banche-dati-ed-elenchi

Almeno per me è stato un inferno e non sono riuscito a trovare qualcosa di strutturato, intuitivo e usabile(in termini di usabilità).

In questo modo non è possibile condurre  nessuna discussione seria e costruttiva in merito alla questione Immigrazione.

Così ho scritto all’Agenzia per l’Italia Digitale, ma ancora nulla.

 

 

Nel mentre, per motivi di lavoro ho condotto una sintetica ricerca sui Visti rilasciati in Nuova Zelanda dal 2001 al 2016.

Il codice verrà pubblicato su www.lovabledata.com nei prossimi giorni nel formato di Jupyter Notebook.

 

E questi sono i valori:

Total      %
Visitor    367368  30.62
Residence  295935  24.67
Student    274149  22.85
Work       247818  20.66
Other       14478   1.21


Oltre a queste informazioni è anche possibile valutare da dove provengono le richieste approvate:
Sum and % of Visa by Region
                              Total      %
North-East Asia              109569  40.03
Southern and Central Asia     74583  27.25
South-East Asia               38487  14.06
North-West Europe             14367   5.25
Oceania and Antarctica        12330   4.50
Africa and the Middle East    11583   4.23
The Americas                   9150   3.34
Southern and Eastern Europe    3678   1.34

E valutare sommariamente applicando una media mobile qual è il trend di provenienza degli immigrati regolari dalle realtà più significative.

Sarebbe interessante poter fare le stesse analisi con i dati italiani (che ci sono ma non si sa dove siano nascosti).

Un abbraccio

Andrea

Guardiamo alle religioni come alle mille foglie di un albero, ci sembrano tutte differenti, ma tutte riconducono a uno stesso tronco.
(Mahatma Gandhi)

 

 

ps ci sono più persone nel Lazio(5,8 Milioni) che in Nuova Zelanda  (4,6 Milioni)

 

pps Si scrive “New Zealand” e non “New Zeland” correggerò i grafici 😀

Annunci

Lascia un commento

Archiviato in Notizie e politica, riflessioni

PCA spiegazione per fidanzati/mariti sfortunati prt 2

Non so se la mia spiegazione sulla PCA fosse chiara,non lo so, e ci riprovo.

E’ una tecnica che viene utilizzata molto frequentemente nel campo del Machine Learning, PCA sta a significare Principal Component Analysis.

Ora Immagina.

Per qualche sfortunata ragione, tu devi regalare una borsa alla tua ragazza/moglie/amante (e io nemmeno ai nemici lo auguro).

Immagina.

Tu e la tua conoscenza sul mondo delle borse.

Immagina.

Tu e la tua conoscenza che spazia dal trolley che usi dall’ultima gita a Praga del liceo, che tua madre e la tua ragazza vorrebbero buttare ma per te è ancora funzionante nonostante quella macchina enorme dovuta agli eccessi del tuo amico tale “ER Bresaola”, e finisce allo zaino tecnico porta pc, con esclusione della 24 ore che ti ha regalato Zio Gianni “perché ormai sei grande”.

Immagina.

TU, proprio TU, devi acquistare una borsa, o in romano ‘na borZa.

Photo by Artem Bali on Unsplash

Inizi a classificare i prodotti:

  • Range di costo (5-5000 €)
  • Marca (Cinese Sotto Casa-Mercato di Merce Parallela-Amazon-Alta Moda)
  • Colore(Blu-Rosso-Nero)(In almeno 216 tonalità diverse per colore)
  • Dimensione (Clutch-Trousse-Hobo Bag-Shopping Bag) (miserabile pensavi che si usasse il metro o il cm come da Sistema Internazionale di Unità di Misura)
  • Dove comprarla (Km Da casa tua 0-100km)
  • Come pagarla (Cash-Finanziamento a 20 anni-Bitcoin-Vai a Rubare perché sei povero)
  • Periodo di Analisi Intraperiodale (Primavera-Estate-Autunno-Inverno)
  • Periodo di Analisi Interperiodale (Outlet-Ultima Uscita)

Almeno 8 variabili di scelta, dura eh?

Purtroppo non puoi sottrarti dall’acquisto perché deve farti perdonare.

Non sai il motivo, lo ignori, ma c’è, in quanto uomo sbagli a prescindere e DEVI farti perdonare.

La PCA, ti aiuta a semplificare il problema ed i dati di input per la tua fatidica scelta.

Nel problema in esame alcune variabili sono in qualche modo ridondanti e assimilabili, ad esempio:

  • Come Pagarla
  • Marca
  • Range Di Costo

potrebbero essere aggregate in un’unica nuova variabile.

E’ molto probabile che se vai dal cinese sotto casa puoi aggregare sotto un unico cappello le variabili “Cash-Cinese Sotto Casa-5€” così come se vai ad effettuare l’acquisto in-quella-maison-che-non-va-nominata “Vai a Rubare perché sei povero- maison-che-non-va-nominata-5000€” possono anche loro essere aggregate.

Questo è quello che fa la tecnica PCA.

Stiamo quindi scartando le caratteristiche ridondanti?

No, anche perchè sappiamo benissimo che alla minimo passo falso si  rischia di aprire un caso di stato, tu nella tua classificazione  hai preso in considerazione TUTTE le variabili, ma le hai trasformate attraverso questa tecnica.

Questa domanda è importante perchè nel vecchio articolo parlavo di riduzione, ma questo non significa che scartiamo determinate varibili(in termini matematici stiamo effettuando una combinazione lineare)

La PCA permette di costruire delle nuove variabili aggregate significative nel processo di classificazione basandosi su quelle precedenti.

Con l’esempio precedente siamo passati da 8 variabili a 6.

Inoltre con la nuova trasformazione abbiamo identificato una variabile che può variare sensibilmente da borsa a borsa, questo elemento è di fondamentale importanza perché abbiamo identificato un elemento che permette di differenziare ed identificare (labeling) le varie tipologie.

Dal punto di vista matematico abbiamo identificato la nuova variabile caratterizzata dalla maggior varianza.

E’ per questo che si chiama “Componente Principale”, perchè è la variabile con varianza maggiore.

Ora che sappiamo come classificare le borse quale comprare?

Questo punto esula la tecnica PCA.

Nelle teoria classica del pensiero economico questo problema per l’uomo razionale non si porrebbe.

  • Volume da trasportare
  • Identificazione del costo minimo in rapporto al volume (€/cm3)

Purtroppo, non funziona così tranne nel mondo degli ingegneri, una analisi basata sugli acquisti storici della fidanzata/moglie/amante risolverebbe il problema, ma non è semplice.

“Essere ingegnere è praticamente una malattia. A una donna, moglie d’ingegnere si potrebbe chiedere:  “Signora, suo marito come sta? E’ ancora ingerere?” E lei potrebbe risponere: “No, adesso sta un po’ meglio” -Luciano de Crescenzo – I pensieri di Bellavista

Un’analisi delle frequenze delle caratteristiche degli acquisti passati, magari modellizzata attraverso il teorema di Bayes, potrebbe portarvi ad acquistare la “borsa più frequente” che non è quella “che la farebbe più felice”.

Quello che potete però fare è assegnare dei pesi alle varie variabili e quindi fare un’analisi delle frequenze pesate.

Un metodo potrebbe essere quello di assegnare un peso maggiore alle borse utilizzate il sabato sera, rispetto a quelle utilizzate tutti i giorni.

Scegliete successivamente il modello di borsa con la frequenza pesata maggiore e, con una certa probabilità, avrete scelto l’alternativa che massimizza l’obiettivo (o in altri termini minimizza l’errore).

La descrizione della PCA di questo articolo è estremamente qualitativa e semplifica molte ipotesi alla base. Nel precedente è possibile vedere come cambia la correlazione tra le variabili ed il p-value con un piccolo script in Python.

Quello che farò nell’ultimo post dedicato a questo strumento statistico sarà realizzare una spiegazione estremamente tecnica e sintetica corredata da un’opportuno script in Python.

Grazie per aver letto l’articolo!

Un abbraccio

Andrea

ps se ci sono errori scrivimi pure 🙂

Lascia un commento

Archiviato in Ingegneria, Tecnologia

Marchionne, un vecchio articolo di HBR del 2008 e la mia esterofilia

8 anni fa la Harvard Business Review (Italia) pubblicò insieme al Sole 24 ore un inserto speciale “I Segreti della Leadership” raccoglieva in 178 pagine circa 11 articoli scritti da illustri professori, top manager e consulenti.

Ancora lo conservo e stranamente ricordavo che all’interno ci fosse un articolo scritto da Marchionne.

Non l’ho mai letto prima di oggi.

Il motivo?

Non lo so, esterofilia, immaturità mia, ma come direbbe il re Jeffrey Joffer “La cosa non ha rilevanza alcuna” e ieri ho avuto modo e piacere di leggere sia la versione inglese che ho ripubblicato sul mio profilo FB sia la versione italiana.

La cosa non ha rilevanza alcuna – Re Jeffrey Joffer

La FIAT nel giugno 2004 perdeva 5 milioni di euro al giorno, le macchine che faceva (pandino escluso) erano improponibili (giustamente io ho guidato una cinquecento modello improponibile vedi foto di repertorio) e Marchionne inoltre era:

  • Il quinto CEO alle redini dell’azienda in tre anni (uno ogni sei mesi)
  • Veniva da un settore diverso dall’industria automobilistica

Una situazione anche peggiore di quella vissuta da Luis Gerstner con IBM.

La FIAT aveva bisogno di una terapia intensiva, di quelle più critiche e la trasformazione condotta da Marchionne è stata durissima, non indolore, ma necessaria:

  • Leadership, cambiare il vecchio paradigma
  • Definizione degli obiettivi e responsabilità
  • Innovazione, non solo sul prodotto

Leadership, cambiare il vecchio paradigma

Data la complessità e la grandezza di FIAT era impossibile che tutte le decisioni fossero prese da CEO. Un problema che Marchionne aveva identificato fin da subito  era la necessità di far crescere i manager e delegare.

Inoltre nel bene o nel male le persone dovevano essere responsabili delle loro decisioni, pagandone il costo se necessario.

Marchionne nell’articolo afferma di essere stato supportato da un brillante responsabile per le risorse umane, personalmente è fantastico come lui attribuisca i suoi successi o alla squadra che ha lavorato con lui o alla fortuna (una sorta di sindrome dell’impostore).

Quando poi Marchionne sottolinea i 4 mesi all’anno passati ad esaminare le top 700 persone di FIAT e la loro performance, basandosi sui numeri e la loro capacità di condurre il cambiamento, il fattore “fortuna” è una variabile totalmente inesistente.

Altro punto interessante è in merito ai feedback: continui e non pianificati.

Definizione degli obiettivi e responsabilità.

Appena arrivato riuscì da subito a posizionare l’asticella degli obiettivi in alto, per molti troppo.

Il time to market iniziale della 500 era di 4 anni, lui con la sua squadra l’ha ridotto a 18 mesi. Ai designer ed ingegneri iniziò a chiedere spiegazioni sulla necessità di quei 48 mesi e cosa sarebbe successo se si fossero focalizzati sull’essenziale, rimuovendo molte features. Da questi input gli ingegneri e designer identificarono i vari colli di bottiglia, li rimossero, migliorando sensibilmente i tempi.

Innovazione, non solo sul prodotto

Marchionne descrive la FIAT “prodotto-centrica”, problema che Steve Blank ha identificato in molte startup, dominata essenzialmente dagli ingegneri e poco “Cliente-centrica” (o customer oriented).

Questo porta spesso a scordarsi di:

  • mercati
  • concorrenza

Parte della soluzione è stata quella sia di un costante confronto con aziende come Apple, dalle quali importare le best practice, sia scegliere persone alla guida del dipartimento di marketing che fossero realmente consapevoli del fatto che Fiat possedesse marchi storici nell’industria dell’auto.

Marchionne è riuscito a dare all’azienda quel senso di urgenza che ho visto negli studi di Kotter, ma questo cambiamento è stato possibile perché lui in prima persona è stato l’esempio aziendale.

Indubbiamente ci sono delle criticità nel suo modus operandi, dei risvolti negativi e altri meglio di me ne hanno già discusso, ma andrebbe oltre gli obiettivi di questo post, che è stato un rovistare nella libreria per poi tuffarsi nel passato.

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure, se ti è piaciuto ricondividilo! 🙂

 

“This country can’t be knocked out in one punch. We get back up again, and when we do, the worlds is gonna hear the roar of are engines”

Lascia un commento

Archiviato in Notizie e politica

Non solo Teoria

Ho ricevuto dei feedback negativi sull’ultimo post molto interessanti, sia da Filippo che da Francesco, organizzerò una cena a Formia per trattarli meglio. Una bella grigliata, una bottiglia di vino, un confronto in amicizia (in realtà io vorrei anche provare questo vermouth artigianale –>  https://amzn.to/2v0oles  che mi ha suggerito Luigi della Caffetteria, si dovrebbe trovare intorno ai 18/20€) ed imparare a fare un Negroni decente.

Ma non è di questo che voglio parlarvi!

Voglio parlarvi della dicotomia tra pratica e teoria.

Che sia il medico, che sia qualsiasi altra professione, studiare soltanto non è sufficiente, c’è bisogno di pratica.

Ma la pratica a sua volta ha bisogno di studio per affinare la tecnica.

Voi non vi fareste mai operare da un medico che ha studiato tutto sui libri ma non ha esperienza pratica, ne fareste fare esperienza sulla vostra pelle ad un medico che non ha studiato nulla.

Io tendo ad essere molto teorico, a studiare un problema in tutte le sue sfaccettature prima di arrivare al risultato finale e questa tendenza può essere estremamente negativa se non la si compensa con un po’ di pratica.

Questo è verissimo soprattutto con Python.

 

“La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. Noi abbiamo messo insieme la teoria e la pratica: non c’è niente che funzioni e nessuno sa il perchè”-Albert Einstein *

Durante le prossime settimane riuscirò a dedicare 20h a Python e l’errore che potrei commettere è quello di stare solo sui libri o sui corsi online e focalizzarmi sulla teoria.

Per evitare questo ho creato delle etichette per le attività che registro attraverso la Tecnica del Pomodoro.

Queste etichette servono per un piccolo programma (uno script) che riceve come input le informazioni su come ho distribuito il tempo nell’ultima settimana e mi restituisce la % di completamento, sulla base di una proporzione che deve esserci tra Pratica, Teoria e Comunicazione del Lavoro Svolto, in sintesi:

  • Lavoro 10 h
  • Studio 6 h
  • Marketing 4h

Lo script è molto grezzo e perfettibile, potevo sfruttare dei cicli for e renderlo più leggibile (vi ringrazio in anticipo per ogni feedback positivo su cosa va potenziato e negativo su cosa va migliorato).

 

La prima parte del programma mi aggiorna sul come sta procedendo l’esperienza con Python, uno script di cui vi avevo già parlato, la seconda parte è quella che valuta il “mix”.

 

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure, se ti è piaciuto ricondividilo! 🙂

 

In [2]:
import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime, timedelta


va='Python'
tvoi='Length'

csvname="logs2.csv"
#read the csv	
columns_name=['Year', 'Month', 'Day', 'Time', 'Length', 'Start', 'End', 'Activity']
dfraw=pd.read_csv(csvname,names=columns_name,sep=',',skiprows=1,skipfooter=0, index_col=False)


dfraw[tvoi] = dfraw[tvoi].astype('str')
mask = (dfraw[tvoi].str.len() == 6) 
dfraw = dfraw.loc[mask]

dfraw[tvoi]=dfraw[tvoi].str.strip()

dfraw[tvoi]=pd.to_datetime(dfraw[tvoi], format='%M:%S')
dfraw['Date'] = dfraw.apply(lambda row: datetime(row['Year'], row['Month'], row['Day']), axis=1)


pythondf=dfraw[(dfraw['Activity'].str.contains("Python",na=False)) | (dfraw['Activity'].str.contains("python",na=False))] 
numacti=pythondf.groupby('Date').count()
numacti=numacti['Activity']
numacti=numacti.divide(2)
cumulata=numacti.cumsum()


day=pd.concat([numacti, cumulata], axis=1)
day.columns=['pgiorno','cumulata']
maxh=cumulata.max()
plt.plot(day.index,day['cumulata'])
plt.xticks(rotation=90)
plt.title('Totale ore di studio e lavoro con Python (%d ore)' %(maxh))
plt.tight_layout()
plt.show()
In [26]:
#Questa parte è per l'analisi della settimana 
python_work=10
python_study=6
sutdy='study'
marketing='marketing'

python_marketing=4
total=python_work+python_study+python_marketing

#Selezioniamo solo gli ultimi giorni oggetto di analisi 
days=7
cutoff_date= pythondf['Date'].iloc[-1]- pd.Timedelta(days=days)
print(cutoff_date)
last_7days= pythondf[pythondf['Date'] > cutoff_date] 
#Qualsiasi attivita' che non abbia come label "marketing" o "study" "datacamp" "ripasso" "libro" é considerata "work"
#Per del codice migliore cercherò nei prossimi log di avere solo tre label study work marketing come metag
study_mask=(last_7days['Activity'].str.contains("ripasso",na=False) | last_7days['Activity'].str.contains("datacamp",na=False)) | (last_7days['Activity'].str.contains("Libro",na=False))
pythondf_study=last_7days[study_mask]

pythondf_marketing=last_7days[last_7days['Activity'].str.contains("marketing",na=False)]


pythondf_work=last_7days[~study_mask]

#Ricordando che i pomodori sono slot da 30 min 
#dobbiamo contare per categoria il numero di pomodori e dividere per 2
#Qui sotto si poteva realizzare un ciclo for, scusate la pigrizia, suggerimenti ben accetti 

print("Weekly % of Python Working",round(pythondf_work['Activity'].count()/2/python_work*100,2))
print("Weekly % of Python Study", round(pythondf_study['Activity'].count()/2/python_study*100,2))
print("Weekly % of Python Marketng",round(pythondf_marketing['Activity'].count()/2/python_marketing*100,2))
2018-07-18 00:00:00
Weekly % of Python Working 45.0
Weekly % of Python Study 58.33
Weekly % of Python Marketng 0.0

 

*fonte da verificare

Lascia un commento

Archiviato in riflessioni, Salute e Benessere, Scritti sparsi, Tecnologia

La vita non è un biglietto della lotteria.

Il fallimento di un nostro progetto è una evento molto frequente ed ogni volta che mi capita di viverlo in prima persona o capita a qualche amico, oltre alla profonda tristezza che mi assale, vivo un intenso periodo di riflessione.
La cosa più sbagliata da fare è non pensarci, catastrofico è non assumere un atteggiamento critico verso i propri pensieri ed il progetto in se.
Questa mattina dopo aver chiuso dei lavori preliminari stavo aiutando un amico ad un progetto che temo non sia andato bene. Dopo esserci salutati, mi è venuta in mente una frase di Andy Groove:

When you say “yes” to one thing, you are inevitably saying “no” to another

Quando dici “si” a qualcuno o qualcosa, inevitabilmente stai dicendo “no” a qualcos’altro

La frase è tratta dal libro di Andy Groove che ho letto un paio di anni fa “High Output Management”, una lettura suggerita in un’intervista da uno dei fondatori di Airbnb.
Il tempo resta una risorsa scarsissima e spesso commettiamo, inconsapevolmente, numerose azioni che portano a procrastinare le attività importanti per terminare delle attività che nello scenario migliore sono classificabili come urgenze, più frequentemente sono attività posticipabili.

 

Molto spesso siamo noi ad autosabotarci (metti che scopriamo di essere bravi?), ma di questo ne vorrei parlare con il mio amico psicologo Francesco Tramontana https://francescotramontana.com e realizzare un bel video divulgativo.

 

Bisogna programmare il proprio tempo con tutta l’incertezza che governa la nostra vita, impegnarci nel definire in modo chiaro il tempo da dedicare ai nostri progetti importanti, altrimenti i nostri discorsi, azioni e riflessioni saranno incentrate sulla fortuna/sfortuna del caso.

Le variabili esterne ci sono, sempre, ma spesso sono una giustificazione nei confronti di una sbagliata organizzazione.

Nella sfortuna i perseveranti emergono sempre.

Qui sotto il link del libro  vi interessa la lettura:

High Output Management

 

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure, se ti è piaciuto ricondividilo! 🙂

Lascia un commento

23/07/2018 · 14:47

PCA Parte Prima

Tra i vari progetti di Luglio e Agosto ci potrebbe essere un progetto di ottimizzazione dei costi per una società UK (non è la stessa dei cupcakes) che potrebbe richiedere l’applicazione della PCA.
In questo articolo (e forse anche un successivo) proverò a spiegare un concetto fondamentale e particolarmente utile.

Devo premettere che la trattazione è volutamente semplificata ed esistono persone decisamente più competenti e brave di me che illustrano (in inglese) l’argomento, Youtube è pieno.
Allora perchè un articolo supernoioso?

Semplice! Per me spiegare le cose è uno dei migliori metodi per apprendere.

Questo lo insegna il sommo Feyman, mica Ciccio Paduccio, maggiori info sul metodo di apprendimento Feyman qui -> https://www.focus.it/comportamento/scuola-e-universita/le-tre-regole-di-feynman-per-preparare-un-esame-e-imparare-tutto

 

Tornando a noi.

L’analisi in componenti principali, in inglese PCA, è una trasformazione lineare.

Fare una PCA è come prendere la lista dei 50 “capisardi” della vita e ridurli a 3:
“La femmina, il danaro e la mortazza”.

La PCA permette di ridurre le variabili identificando quelle realmente importanti(termine statisticamente insignificante) e non correlate tra loro (termine statisticamente fondamentale).

In termini tecnici è una trasformata, un operatore matematico, in questo caso lineare, che trasforma una funzione in un’altra funzione.

E’ molto utilizzata nell’ambito del Machine Learning nella risoluzione dei probelmi di regressione e classificazione perchè permette di ridurre il numero di variabili in gioco (feature reduction) considerando quelle fondamentali.

Nell’esempio che vi propongo, si è applicata la PCA non tanto per ridurre il numero di variabili (che è rimasto il medesimo 2), ma per decorrelarle

E’ una versione leggermente modificata di un esercizio di DataCamp.Com di questo capitolo (https://www.datacamp.com/courses/unsupervised-learning-in-python).

Nella prima fase dell’esempio si studia la correlazione tra due variabili e nella seconda parte si applica una PCA

Sono stati presi 209 semi e si è misurata la loro lunghezza e larghezza e le informazioni sono state salvate in un file *csv

Inzialmente ho realizzato uno scatter plot per vedere quale fosse la correlazione tra le due variabili ed ho calcolato il coefficiente di pearson, successivamente ho applicato una PCA per decorrelare le due variabili e identificare le componenti principali che definiscono due nuove variabili, dove quella con la maggiore varianza raprpesenta il primo asse, mentre la seconda quella con varianza minore.

Nel caso noi avessimo avuto m variabili e dalla PCA avessimo ottenuto n variabili, con m>n, allora il secondo asse sarebbe stato descritto dalla seconda variabile con varianza maggiore, il terzo asse con la terza variabile con varianza maggiore fino alla n-essima variabile.

Nei prossimi articoli cercherò di illustrare meglio il concetto con esempi pratici, fino a quando non riuscirò a elaborare un articolo dal titolo “PCA Guida definitiva” o “PCA spiegata a mia nonna”.

In [10]:
#Analisi PCA 
# Importiamo le librerie necessarie matplot scipy.stats e pandas 
import matplotlib.pyplot as plt
from scipy.stats import pearsonr
import pandas as pd
#Carichiamo il file 
grains=pd.read_csv("seeds-width-vs-length.csv")
#Vediam sempre di che si tratta e come si caratterizzano i nostri dati
print(grains.info())
print(grains.describe())
#Estraiamo dal dataframe solo i valori per poter successivamente lavorare con specifici array
grains=grains.values
#La 0-sima colonna del dataframe rappresenta la larghezza
width = grains[:,0]

#La 1-a colonna del dataframe rappresenta la lunghezza
length = grains[:,1]

# Grafichiamo tutto con uno scatter plot larghezza-lunghezza
plt.scatter(width, length)
plt.axis('equal')
plt.show()

#Calcoliamo il coefficiente di pearson detto anche coefficente di correlazione lineare ed il p-value dei dati
correlation, pvalue = pearsonr(width,length)

# Visualizziamo in due valori appena calcolati
print("Correlazione tra le due  variabili larghezza e lunghezza", round(correlation, 4))
print("P-value dei dati",pvalue)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 209 entries, 0 to 208
Data columns (total 2 columns):
3.312    209 non-null float64
5.763    209 non-null float64
dtypes: float64(2)
memory usage: 3.3 KB
None
            3.312       5.763
count  209.000000  209.000000
mean     3.258349    5.627890
std      0.378603    0.444029
min      2.630000    4.899000
25%      2.941000    5.262000
50%      3.232000    5.520000
75%      3.562000    5.980000
max      4.033000    6.675000
Correlazione tra le due  variabili larghezza e lunghezza 0.8604
P-value dei dati 1.5696623081483666e-62

Addesso possiamo valutare quelle che sono le componenti principali della nostra distribuzione e decorrelarre le due variabili attraverso una PCA

In [4]:
#Carichiamo il modulo della libreria che ci interessa per l'operazione
#PCA Analysis 
# Import PCA
from sklearn.decomposition import PCA

#Creiamo l'istanza pca modello
modello = PCA()

# Applichiamo il metodo fit_transform method al nostro dataset sul grano
#Otterremo un nuovo array con due nuove variabili decorrelate
pca_features = modello.fit_transform(grains)

# Assegniamo la 0-sima colonna di pca_features alla variabile xs
xs = pca_features[:,0]

# Assegniamo la 1-a colonna di pca_features alla variabile ys
ys = pca_features[:,1]

# Grafichiamo tutto con uno scatter plot le due nuove variabili
plt.scatter(xs, ys)
plt.axis('equal')
plt.show()

# Calcoliamo coefficiente di pearson per le due nuove variabili xs ys
correlation, pvalue = pearsonr(xs, ys)

# Visualizziamo i due risultati approssimati
print("Correlazione tra le due nuove variabili xs ed ys", round(correlation,4))
print("P-value dei dati",pvalue)
Correlazione tra le due nuove variabili xs ed ys -0.0
"P-value dei dati 1.0

1 Commento

Archiviato in Ingegneria

Back In Black

Giugno è stato un mese veramente intenso!

Partiamo dalle cose importanti, sono riuscito a rivedere con un aperitivo di InnovAction Lab Roma Nicola Greco!

L’ultima volta che l’avevo visto era due tre anni fa a Roma, insieme ad Enrico Bruschini, prima che entrasse al MIT a Boston, avevamo organizzato una cena molto ruspante a base di pomodori e mozzarella di bufala nel periodo di Natale. Ora  sta lavorando per File Coin l’azienda che ha realizzato la più grande ICO  Italiana (257 Milioni di dollari)

Non so spiegare bene cosa facciano questo video invece ci riesce egregiamente:

Inoltre sia il Negroni Sbagliato che il Cosmopolitan erano fatti a regola d’arte, particolare che non mi sento di trascurare.

Cambiando discorso, vi rircordate il rapporto che dovevo realizzare per la società di dolci?

La stesura del rapporto è quasi finita, tanto sudore e matrici, ma forse è più corretto chiamarlo “modello predittivo” che rapporto.

Se ho fatto bene i conti, forse, sono riuscito ad implementare una regressione linerare polinomiale che garantisce una accuratezza migliore del 50% sulle stime (per i tecnici del mestiere, valutazione effettuata su un campione di dati che ho splittato nel classico 70/30, con il tempo forse nei prossimi giorni implementerò una crossvalidation del modello)

Nonostante questo la presentazione del lavoro è ancora mediocre, senza considerare l’inglese con la quale l’ho scritta, anche questo da migliorare.

 

Tutto procede come imprevisto

Sarei dovuto ripartire a breve, fino ad un mese fa questo era il programma,  ma uno dei lavori che sto curando qui in Italia durerà fino a fine Settembre.

Ovviamente Tramontana (fondatore di una delle pagine italiane facebook più importanti di psicologia “Talking“)aveva previsto la mia permanenza estiva qui in Italia già in tempi non sospetti vincendo una scommessa.

Puoi leggere, leggere, leggere, che è la cosa più bella che si possa fare in gioventù: e piano piano ti sentirai arricchire dentro, sentirai formarsi dentro di te quell’esperienza speciale che è la cultura – Pier Paolo Pasolini

Vi ricordate la mia lista di libri?

Sto ancora leggendo Conrad Heart Of Darkness in lingua inglese e  nonostante siano solo un 100 di pagine ho scoperto di avere un dizionario veramente limitato

(Questo il link se volete prenderlo su Amazon)
Sabato mattina mi sono segnato tutte le ultime parole che avevo letto e delle quali non conoscevo il significato ed ho creato queste scorecard su Quizlet che potete usare.

https://quizlet.com/_50wbpb

Visto che io mi scordo tutto, in questo modo posso rileggere a distanza di tempo i termini che non conoscevo e rinforzare il processo di memorizzazione.

Il libro è particolare, le descrizioni dei luoghi molto belle, ma sicuramente non è un libro “allegro”.

Era dalla scorsa estate che non leggevo un romanzo, in generale mi sento più propenso alla lettura di saggi e libri tecnici, ma ogni tanto bisogna variare.

 

Se vuoi andare veloce vai da solo, se vuoi andare lontano vai in compagnia – Antico Proverbio Africano

 

Giovedì ho partecipato ad una conferenza sulle Reti Neurali da Enlabs.

Le reti neurali sono dei modelli matematici che simulano il funzionamento di una rete neurale biologica in modo estremamente semplificato.

Rientra nel fantastico mondo del Machine Learning e dell’Intelligenza Artificiale.

I campi di applicazione  sono veramente disparati, il dipartimento di Ingegneria Civile di Roma Tre negli anni ’90 (credo) , li utilizzava per determinare le cause degli incidenti stradali e trattati nel corso di Teoria delle Infrastrutture Viarie 

Durante la conferenza è stato presentato questo video meraviglioso:

Personalmente gli attuali sviluppi tecnologici delle reti neurali che più mi affascinano sono:

  • Individuazione dei tumori alla pelle attraverso analisi delle immagini con una precisione superiore a quella media dei dermatologi  https://cs.stanford.edu/people/esteva/nature/
  • Predizione della domanda/valore di determinate azioni in borsa
  • Riconoscimento di immagini ed elementi all’interno di queste sempre più sofisticati, esempio per analisi preliminari di immagini satellitari per valutare il cambiamento di fiumi, corsi d’acqua ecc… potrebbero essere utilizzati ad esempio nella lotta all’abusivismo edilizio

Personalmente con python e l’analisi dati mi sto affacciando ai modelli ARIMA sulle serie storiche ed anche in questo ambito, dei modelli predittivi, i risultati che stanno dando le reti neurali sono molto positivi in alcuni casi migliori dei modelli ARIMA come mostrato in questo studio https://www.hindawi.com/journals/jam/2014/614342/.

 

 

L’ultima grande scoperta di Giugno è http://philosophizethis.org l’autore del sito ha su spotify un podcast di Filosofia (in Inglese) spettacolare!

Capisco che per alcuni la cosa è strana (già mi è stato evidenziato da più persone), ma avere la possibilità di riscoprire Hegel, Sant’Agostino o la Scuola di Fracoforte mentre si è in treno o bloccati nel traffico è meraviglioso.

 

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure, se ti è piaciuto ricondividilo! 🙂

 

Lascia un commento

Archiviato in riflessioni, Scritti sparsi, Viaggi