science >> Wetenschap >  >> Elektronica

Tool voor niet-statistici genereert automatisch modellen die inzichten halen uit complexe datasets

MIT-onderzoekers hopen de democratisering van datawetenschap te bevorderen met een nieuwe tool voor niet-programmeurs die automatisch modellen genereert voor het analyseren van ruwe data. Krediet:Christine Daniloff, MIT

MIT-onderzoekers hopen de democratisering van datawetenschap te bevorderen met een nieuwe tool voor niet-statistici die automatisch modellen genereert voor het analyseren van ruwe data.

Het democratiseren van datawetenschap is het idee dat iedereen, met weinig tot geen expertise, kan datawetenschap doen als er voldoende gegevens en gebruiksvriendelijke analysetools worden verstrekt. Om dat idee te ondersteunen, de nieuwe tool neemt datasets op en genereert geavanceerde statistische modellen die doorgaans door experts worden gebruikt om te analyseren, interpreteren, en onderliggende patronen in data te voorspellen.

De tool leeft momenteel op Jupyter Notebook, een open-source webframework waarmee gebruikers programma's interactief in hun browser kunnen uitvoeren. Gebruikers hoeven maar een paar regels code te schrijven om inzicht te krijgen in, bijvoorbeeld, financiële trends, vliegreizen, stempatronen, de verspreiding van ziekten, en andere trends.

In een paper gepresenteerd op het ACM SIGPLAN Symposium over Principles of Programming Languages ​​van deze week, de onderzoekers laten zien dat hun tool nauwkeurig patronen kan extraheren en voorspellingen kan doen uit real-world datasets, en presteren zelfs beter dan handmatig geconstrueerde modellen bij bepaalde gegevensanalysetaken.

"Het hoofddoel is om datawetenschap toegankelijk te maken voor mensen die geen expert zijn in statistiek, " zegt eerste auteur Feras Saad '15, MEng '16, een doctoraat student aan de afdeling Elektrotechniek en Informatica (EECS). "Mensen hebben veel datasets die rondhangen, en ons doel is om systemen te bouwen waarmee mensen automatisch modellen krijgen die ze kunnen gebruiken om vragen over die gegevens te stellen."

uiteindelijk, de tool pakt een knelpunt op het gebied van datawetenschap aan, zegt co-auteur Vikash Mansinghka '05, MEng '09, doctoraat '09, een onderzoeker in de afdeling Hersen- en Cognitieve Wetenschappen (BCS) die het Probabilistic Computing Project leidt. "Er is een algemeen erkend tekort aan mensen die begrijpen hoe ze data goed moeten modelleren, "zegt hij. "Dit is een probleem bij regeringen, de non-profitsector, en plaatsen waar mensen zich geen datawetenschappers kunnen veroorloven."

De andere co-auteurs van het papier zijn Marco Cusumano-Towner, een EECS Ph.D. student; Ulrich Schächtle, een BCS-postdoc bij het Probabilistic Computing Project; en Martin Rinard, een EECS-professor en onderzoeker in het Computer Science and Artificial Intelligence Laboratory.

Bayesiaanse modellering

Het werk maakt gebruik van Bayesiaanse modellering, een statistische methode die de waarschijnlijkheid van een variabele continu bijwerkt naarmate er meer informatie over die variabele beschikbaar komt. Bijvoorbeeld, statisticus en schrijver Nate Silver gebruikt Bayesiaanse modellen voor zijn populaire website FiveThirtyEight. In de aanloop naar de presidentsverkiezingen, de modellen van de site maken een eerste voorspelling dat een van de kandidaten zal winnen, gebaseerd op verschillende peilingen en andere economische en demografische gegevens. Deze voorspelling is de variabele. Op de verkiezingsdag, het model gebruikt die informatie, en weegt inkomende stemmen en andere gegevens, om die kans op het potentieel van een kandidaat om te winnen voortdurend bij te werken.

Algemener, Bayesiaanse modellen kunnen worden gebruikt om te "prognoses" - een onbekende waarde in de dataset te voorspellen - en om patronen in gegevens en relaties tussen variabelen te ontdekken. In hun werk, de onderzoekers richtten zich op twee soorten datasets:tijdreeksen, een reeks gegevenspunten in chronologische volgorde; en tabelgegevens, waarbij elke rij een entiteit van belang vertegenwoordigt en elke kolom een ​​attribuut vertegenwoordigt.

Tijdreeksgegevenssets kunnen worden gebruikt om te voorspellen, zeggen, luchtvaartverkeer in de komende maanden of jaren. Een probabilistisch model kraakt tientallen historische verkeersgegevens en produceert een tijdreeksgrafiek met toekomstige verkeerspatronen langs de lijn. Het model kan ook periodieke fluctuaties blootleggen die verband houden met andere variabelen, zoals de tijd van het jaar.

Anderzijds, een tabelgegevensset die wordt gebruikt voor, zeggen, sociologisch onderzoek, kan honderden tot miljoenen rijen bevatten, die elk een individuele persoon vertegenwoordigen, met variabelen die het beroep karakteriseren, salaris, thuis locatie, en antwoorden op enquêtevragen. Probabilistische modellen kunnen worden gebruikt om ontbrekende variabelen in te vullen, zoals het voorspellen van iemands salaris op basis van beroep en locatie, of om variabelen te identificeren die elkaar informeren, zoals het vinden dat iemands leeftijd en beroep voorspellend zijn voor hun salaris.

Statistici beschouwen Bayesiaanse modellering als een gouden standaard voor het construeren van modellen uit gegevens. Maar Bayesiaanse modellering is notoir tijdrovend en uitdagend. Statistici nemen eerst een weloverwogen gok naar de noodzakelijke modelstructuur en parameters, vertrouwen op hun algemene kennis van het probleem en de gegevens. Met behulp van een statistische programmeeromgeving, zoals R, een statisticus bouwt dan modellen, past parameters, controleert resultaten, en herhaalt het proces totdat ze een passende prestatieafweging vinden die de complexiteit en modelkwaliteit van het model weegt.

De tool van de onderzoekers automatiseert een belangrijk onderdeel van dit proces. "We geven een softwaresysteem een ​​baan die je zou hebben voor een junior statisticus of datawetenschapper, ", zegt Mansinghka. "De software kan automatisch vragen beantwoorden op basis van de gegevens - voorspellingen doen of je vertellen wat de structuur is - en het kan dit rigoureus doen, rapportage van kwantitatieve maten van onzekerheid. Dit niveau van automatisering en nauwkeurigheid is belangrijk als we datawetenschap toegankelijker willen maken."

Bayesiaanse synthese

Met de nieuwe aanpak gebruikers schrijven een regel code met details over de locatie van de onbewerkte gegevens. De tool laadt die gegevens en maakt meerdere probabilistische programma's die elk een Bayesiaans model van de gegevens vertegenwoordigen. Al deze automatisch gegenereerde modellen zijn geschreven in domeinspecifieke probabilistische programmeertalen - coderingstalen die zijn ontwikkeld voor specifieke toepassingen - die zijn geoptimaliseerd voor het representeren van Bayesiaanse modellen voor een specifiek type gegevens.

De tool werkt met een aangepaste versie van een techniek genaamd "programmasynthese, " waarmee automatisch computerprogramma's worden gemaakt met gegevens en een taal om in te werken. De techniek is in feite omgekeerde computerprogrammering:gegeven een reeks invoer-uitvoervoorbeelden, programmasynthese werkt achteruit, het invullen van de lege plekken om een ​​algoritme te construeren dat de voorbeelduitvoer produceert op basis van de voorbeeldinvoer.

De aanpak verschilt op twee manieren van gewone programmasynthese. Eerst, de tool synthetiseert probabilistische programma's die Bayesiaanse modellen voor gegevens vertegenwoordigen, terwijl traditionele methoden programma's produceren die helemaal geen gegevens modelleren. Tweede, de tool synthetiseert meerdere programma's tegelijk, terwijl traditionele methoden er slechts één tegelijk produceren. Gebruikers kunnen kiezen welke modellen het beste bij hun toepassing passen.

"Als het systeem een ​​model maakt, het spuugt een stukje code uit geschreven in een van deze domeinspecifieke probabilistische programmeertalen ... die mensen kunnen begrijpen en interpreteren, " zegt Mansinghka. "Bijvoorbeeld, gebruikers kunnen controleren of een tijdreeksdataset zoals het volume van het luchtverkeer seizoensgebonden variaties heeft door de code te lezen, in tegenstelling tot black-box machine learning en statistische methoden, waar gebruikers de voorspellingen van een model moeten vertrouwen, maar het niet kunnen lezen om de structuur ervan te begrijpen."

Probabilistisch programmeren is een opkomend veld op het snijvlak van programmeertalen, kunstmatige intelligentie, en statistieken. Dit jaar, MIT was gastheer van de eerste internationale conferentie over probabilistische programmering, met meer dan 200 aanwezigen, waaronder toonaangevende spelers in de sector in probabilistisch programmeren, zoals Microsoft, Uber, en Google.