Come vengono applicate le statistiche nell'informatica per valutare l'accuratezza delle affermazioni sulla ricerca?


8

Ho notato nella mia breve vita accademica che molti articoli pubblicati nella nostra zona a volte non hanno molto rigore per quanto riguarda le statistiche. Questo non è solo un presupposto; Ho sentito i professori dire lo stesso.

Ad esempio, nelle discipline CS vedo che vengono pubblicati articoli che affermano che la metodologia X è stata osservata efficace e questo è dimostrato da ANOVA e ANCOVA, tuttavia non vedo riferimenti per altri ricercatori che valutano che sono stati osservati i vincoli necessari. Sembra in qualche modo non appena compaiono alcune "funzioni e nomi complessi", quindi ciò dimostra che il ricercatore sta usando un metodo e un approccio altamente credibili secondo cui "deve sapere cosa sta facendo e va bene se non descrive i vincoli" , diciamo, per quella data distribuzione o approccio, in modo che la comunità possa valutarlo.

A volte, ci sono scuse per giustificare l'ipotesi con un campione così piccolo.

La mia domanda qui viene quindi posta come studente delle discipline CS come aspirante a saperne di più sulle statistiche: in che modo gli informatici si avvicinano alle statistiche?

Questa domanda potrebbe sembrare che sto chiedendo quello che ho già spiegato, ma questa è la mia opinione . Potrei sbagliarmi, o potrei concentrarmi su un gruppo di professionisti, mentre altri gruppi di ricercatori CS potrebbero fare qualcos'altro che segue le migliori pratiche per quanto riguarda il rigore delle statistiche.

Quindi, in particolare, quello che voglio è "La nostra area è o non è nelle statistiche a causa dei fatti dati (esempio di documenti, libri o un altro articolo di discussione su questo vanno bene)". La risposta di @Patrick è più vicina a questo.


Per favore fatemi sapere se la mia risposta non è proprio quello che stavate cercando ... Posso trovare alcuni esempi, se lo desiderate, ma sembra che abbiate già molto da soli. Inoltre, a meno che tu non abbia accesso ai procedimenti, potrebbe essere difficile presentare collegamenti ai documenti.
Patrick87

Ho accesso alle biblioteche digitali IEEE e ACM, gli esempi sarebbero ben accolti anche sul tuo post, potrei usarli, in seguito, quando guadagnerò il mio dottorato di ricerca per mostrare agli studenti che finisco per consigliare esempi positivi e negativi su questo punto. E sì, questo è lo sport di opinione e affermazione che stavo cercando.
Oeufcoque Penteano,

Si noti che enormi parti dell'informatica non sono affatto empiriche e quindi non (ab) usano le statistiche. Su una nota snarky, le persone di ingegneria del software sono "conosciute" per scrivere molto e dire poco (di pertinenza). Il primo passo sarebbe quello di imparare le statistiche; pochi aspiranti ricercatori di ingegneria del software che conosco hanno mai seguito un corso o qualcosa di statistica.
Raffaello

Buon punto. Sono abituato ad ascoltare anche questo. Cosa sarebbe considerato dopo?
Oeufcoque Penteano,

Risposte:


11

Come studente laureato in informatica, che è esposto alla ricerca in campi diversi dall'informatica e il cui gruppo di ricerca lavora in un'area dell'informatica in cui le statistiche possono essere proficuamente applicate, posso offrire la mia esperienza; il tuo chilometraggio può variare.

In generale, anche la ricerca scientifica più ben intenzionata può non applicare rigorosamente analisi statistiche ai risultati ed è mia esperienza che ciò non preclude sempre che documenti che includono tali risultati scarsamente analizzati vengano accettati per la pubblicazione. L'area in cui il mio gruppo opera è principalmente nel calcolo distribuito e nell'architettura informatica ad alte prestazioni. Spesso, la ricerca coinvolge progetti sperimentali le cui prestazioni non possono essere facilmente comprese analiticamente nei dettagli richiesti. Pertanto, i risultati empirici vengono spesso utilizzati come prove per affermazioni.

Chiaramente, gli esperimenti dovrebbero essere progettati - e i risultati analizzati - in modo tale da fornire una certa sicurezza che i risultati siano statisticamente significativi. Il più delle volte, questo non è fatto, anche in alcuni dei luoghi più importanti. Quando si applica l'analisi statistica, non è quasi mai rigorosa in alcun senso significativo; il più tipico che si vede (e si è contenti di vederlo!) è che un esperimento è stato ripetuto n volte, per alcuni n scelti arbitrariamente , dove tipicamente1<n<5. La selezione delle barre di errore (se presenti) sembra essere principalmente una questione di preferenze o gusti personali.

In sintesi, no, non sei solo tu; e non è solo ingegneria del software. In generale, in base alla mia esperienza, diverse aree della ricerca informatica sembrano errare dal lato del non fare abbastanza. In effetti, potrebbe anche essere dannoso per la fattibilità di un documento presentato soffermarsi su considerazioni statistiche. Questo non vuol dire che trovo la situazione soddisfacente; lontano da esso. Ma queste sono le mie impressioni. Ad esempio, puoi dare un'occhiata alla sezione 5 di questo documento, presentato a Supercomputing 2011, una delle conferenze di più alto profilo nell'area dell'informatica ad alte prestazioni. In particolare, dai un'occhiata ad alcune discussioni sui risultati nella sezione 5 e vedi se arrivi alle stesse conclusioni che faccio riguardo al rigore dell'analisi statistica dei risultati sperimentali.

Più in generale, questa carenza può essere sintomatica di una condizione in alcune aree dell'informatica per pubblicare più articoli anziché meno, per indirizzare conferenze piuttosto che riviste e per enfatizzare i progressi incrementali piuttosto che miglioramenti significativi e fondamentali nella comprensione. È possibile consultare questo articolo , che fornisce informazioni preziose in tal senso.


Grazie mille per la tua opinione Sono felice di vedere che le altre persone pensano in questo modo. Spero che la comunità abbia anche altre opinioni da condividere o almeno votare per esprimere l'opinione. :) Peccato che io sia ancora un novellino, quindi non posso votare nulla.
Oeufcoque Penteano,

@OeufcoquePenteano Ehi, tutti sono un novellino quando iniziano. Questa è una buona domanda e solleva un punto interessante su una potenziale carenza di standard di ricerca informatica. Aggiungerò alla risposta a breve. Si noti inoltre che questa domanda potrebbe essere chiusa (prima piuttosto che dopo, anche) da altri membri, dal momento che domande come questa sono state (finora) considerate con qualche sospetto, e poiché questo sito è ancora in beta, la comunità sta ancora cercando di definire qui cosa è on e off-topic.
Patrick87

Ma la proposta iniziale menzionata sull'informatica e la ricerca e questa soddisfa questi criteri, giusto? A questo punto non ci sono altri criteri più raffinati che eliminerebbero questa domanda dal gioco, o ci sarebbe? O c'è qualche altra famiglia di stack di cui potrei discutere su questa domanda? Grazie per il tuo complimento e attenzione per la risposta :)
Oeufcoque Penteano

1
Per quanto riguarda il benchmarking delle implementazioni di proof-of-concept, faccio fatica a vedere come si possa stabilire il significato. Non sembra possibile applicare qui le statistiche; prendere le misure da solo non è statistica. Tuttavia, è importante che le misurazioni vengano interpretate attentamente e con prospettiva.
Raffaello

4
@ Patrick87: non voglio sostenere ignorando il significato statistico. Si è dura, però. Per inciso, faccio benchmark per la mia tesi di laurea. Eseguo le mie cose (molte volte) su due o tre macchine e mi occupo di misurare i tempi rilevanti. Cos'altro posso fare? Non posso nemmeno iniziare a utilizzare statistiche rigorose perché non ho idea di quale possa essere un modello stocastico per l'esecuzione multi-core di algoritmi con la JVM nel mezzo.
Raffaello

2

L'ingegneria del software include molte funzionalità. Due di questi sono il fattore umano e la misura della qualità.

Diciamo che voglio fare analisi di produttività. La raccolta di dati sarebbe difficile da confrontare con l'analisi dell'algoritmo perché i dati riguardano la produttività umana. Anche la misura oggettiva della qualità non è facile da raggiungere.

10 righe di codice al giorno per un sistema avionico rispetto a 150 righe di codice al giorno per un'app su smartphone, quale ha una maggiore produttività e quale ha una qualità migliore? E se entrambi affermano di utilizzare la stessa metodologia? Confrontarli è confrontare mele e arance.

A volte è difficile ottenere una misura accurata dell'efficienza del codice. Ad esempio, ho inserito un mucchio di variabili non utili e molte righe di codice per tali variabili, ad esempio a scopo di debug. Questo aumenta la mia produttività in fase di sviluppo. Alla fine, li tolgo tutti e dico di migliorare il mio codice per raggiungere l'efficienza.

Successivamente, entra un ricercatore che esegue analisi di efficienza. Potrebbe trattare quanto sopra come rumore e concentrarsi solo sui risultati finali. Alcuni ricercatori prestano attenzione ai rumori. Quindi vedrai articoli con conclusioni diverse.

Le statistiche dovrebbero essere uno strumento per aiutare i ricercatori a trovare le cause dei problemi. Molti ricercatori lo usano per trarre conclusioni. Questo è ciò che hai osservato.


Alcune osservazioni di cui sopra potrebbero indurre l'OP a pensare che sono contrario all'utilizzo delle statistiche nell'ingegneria del software. In tal caso, vorrei chiarirmi.

Non sono contrario alle statistiche. L'analisi delle statistiche può dire che X potrebbe essere vero. Ma quella non dovrebbe essere la fine della ricerca. Il prossimo compito dovrebbe essere quello di scoprire se X è effettivamente vero e perché. Questo è ciò che credo sia la scienza: trovare la verità.

Se l'ingegneria del software appartiene o meno all'informatica è un altro problema.


Ciao grazie. Penso che tu sia in grado di commentare la tua domanda, quindi dovrebbe funzionare. Vuoi dire che gli ingegneri del software possono essere autorizzati a essere più informali sulle statistiche a causa delle incertezze? Non lo so. Vedi, ho un libro che ho ricevuto da un professore che insegna statistiche per i ricercatori sociali. Penso che la loro parte sia molto peggio della nostra, e hanno anche degli esempi ben definiti in un libro per quello. Perché, anche noi abbiamo un codice statico per provare diversi approcci ad esso non sarebbe in grado di farlo?
Oeufcoque Penteano,

Mi chiedo se questo è il divario che di solito sento tra la ricerca e le persone che lavorano effettivamente nel settore. Sono d'accordo con te sul fatto che per gli sviluppatori non sei preoccupato per le statistiche, ma per far funzionare il programma. Ma sì, il project manager ne avrebbe bisogno per prevedere se lo sviluppatore sarebbe in ritardo o no, forse? Considerando ancora la parte "domande della ricerca" della domanda, ritieni che l'accuratezza nelle statistiche sarebbe inutile, come ad esempio dedurre che poche cose gli sviluppatori riducono inconsciamente la loro produttività e il piacere nel lavoro? La mia preoccupazione è lì.
Oeufcoque Penteano,

Intendi che la ricerca sperimentale considererebbe le persone come soggetti? Stavo parlando di misurare il codice per capirlo, non sperimentare con le persone. Mi dispiace, sono confuso solo la tua ultima affermazione. Ma grazie per i tuoi approfondimenti!
Oeufcoque Penteano,

Bene, ora capisco. Dato che sono un principiante su questo, non sapevo che lunghe discussioni sui commenti sarebbero state una cattiva pratica, quindi mi fermerò a questo punto. Grazie per i tuoi approfondimenti. Aspetterò ancora qualche giorno ed eleggerò una risposta (nel caso in cui la domanda non sia appropriata per questa comunità e venga chiusa).
Oeufcoque Penteano,

Mi chiedo se stai parlando delle stesse statistiche. In generale, una "statistica" è di solito un mucchio di misurazioni. In matematica e scienze, "statistiche" la stima dei parametri del modello dati / misurazioni. Pertanto, elencare i conteggi di LOC non è nemmeno statistica in senso scientifico; se puoi (con precisione) stimare il parametro "consumo medio di caffè per sviluppatore" dai dati LOC, stai facendo statistiche (pertinenti); hai trovato eventi correlati.
Raffaello

1

Le statistiche sono difficili e spesso controintuitive. Inoltre, l'impulso di "fare un altro esperimento" per vedere se c'è un effetto (e fermarsi quando si presenta) è forte, specialmente se gli esperimenti sono costosi (tempo, lavoro, non solo denaro). Ricorda anche che pubblicare un articolo su come l'esperimento preparato, lungo e costoso dimostra che nessuna relazione statisticamente significativa tende ad essere impossibile.

Specialmente nell'ingegneria del software ci sono molte variabili incontrollabili. Per tenerne conto, avresti bisogno di molte repliche dell'esperimento e otterrai risorse per eseguirne una o al massimo due.


-3

La mia domanda qui viene quindi posta come studente delle discipline CS come aspirante a saperne di più sulle statistiche: in che modo gli informatici si avvicinano alle statistiche?

ci sono molte domande sopra e alcune non uguali alla domanda sul titolo e in qualche modo questa domanda ha una premessa / idea sbagliata sottostante su una mancanza di connessione tra statistica e CS. la domanda generale riguarda l'interfaccia di informatica e statistica.

c'è una vasta, che si sta verificando in un'intensa sovrapposizione in alcune aree ed è una tendenza crescente con il nuovo campo fortemente emergente dei big data . in alcune scuole (ad es. anche scuole d'élite "Ivy League") la laurea in CS è strettamente accoppiata con i dipartimenti di matematica e statistica e alcune hanno una specializzazione congiunta . esiste un'interconnessione molto forte nel campo CS / statistico dell'apprendimento automatico . anche il campo relativamente nuovo della bioinformatica ha una solida base statistica CS +.

c'è un intero campo Statistiche computazionali focalizzate sull'interfaccia!

La statistica computazionale, o calcolo statistico, è l'interfaccia tra statistica e informatica. È l'area della scienza computazionale (o informatica scientifica) specifica della scienza matematica della statistica. Anche questa area si sta sviluppando rapidamente, portando a invocare un concetto più ampio di informatica come parte dell'educazione statistica generale. [1]

sì, d'accordo, come sottolineato nella domanda, ci sono molti documenti CS che non usano statistiche, comprese situazioni (come la valutazione di esperimenti empirici) in cui potrebbe essere persino altamente applicabile e pertinente, ma si può dire esattamente lo stesso di molti altri campi scientifici, ad esempio matematica, e campi ancora più applicati come la fisica.

ci sono molti modi per usare / applicare le statistiche, alcune meno rigorose di altre e non tutti i contesti richiedono la piena applicazione degli aspetti molto avanzati della statistica. ad esempio, semplicemente eseguire più esperimenti e tracciare barre di errore per deviazione statistica (o anche solo medie! ) è un uso di base delle statistiche. usi più rigorosi includono test di ipotesi, ma c'è un'osservazione generale sul campo che molti articoli scientifici non eseguono test di ipotesi rigorosi anche dove potrebbe essere applicabile.

inoltre, questa domanda è taggata con . questa era la mia specializzazione, ed era richiesta una lezione di statistica per completare questo diploma nella mia scuola e ottenere una specializzazione in ingegneria (es. ABET ), questo è probabilmente il caso in molte altre università. se si vogliono principi di tipo CS più rigorosi e applicati come le applicazioni della statistica, si può seguire il percorso di "ingegneria del software" nell'istruzione.


come sottolineato in un altro commento, gli usi delle statistiche anche in TCS più astratti includono l' analisi della complessità media dei casi e l' apprendimento PAC, ecc.
vzn

1
L'analisi della complessità nel caso medio non utilizza le statistiche. Stocastico, certamente, ma questa è un'altra cosa.
Raffaello

fortemente in disaccordo! è chiaramente utilizza concetti statistici chiave / fondamentali, ma forse non si insegna che lo fa! le opinioni accademiche dei campi tendono ad essere compartimentate e si riflette qui! Imho qualsiasi riferimento a una distribuzione di input ecc. è ovviamente un'invocazione di concetti statistici ...
vzn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.