2010-06-17 8 views
7

Insegnerò un corso di econometria ai maestri studenti in autunno. Penso che sia importante per loro imparare la programmazione con i dati come una fondamentale abilità di ricerca applicata. Quali suggerimenti hai per il linguaggio di programmazione. Mi sto orientando principalmente verso R. Quali altri dovrei considerare?Il miglior linguaggio di programmazione per l'insegnamento dell'econometria?

+1

R è il linguaggio standard di fatto per la modellazione statistica, seguici. Considera MATLAB se i tuoi studenti saranno anche impegnati in programmi di programmazione non economica. – davidosomething

+2

Focus su R. Un pacchetto che devono acquistare (SAS, SPSS, ecc.) Significa che dovranno pagare cifre esorbitanti per essere produttivi con le loro capacità. Questa è una responsabilità che non vorrei mettere sugli studenti. –

+8

L'hai taggato R, quindi avrai naturalmente una community di utenti R che rispondono. È una sorpresa che R sia la risposta? Forse prova a etichettarlo come "programmatore" per ottenere opinioni più diverse. – Shane

risposta

14

R è una scelta molto buona. Fallo.

Il numero di risorse sul Web continua ad aumentare. Un bel set di diapositive è fornito da UCLA Stat Consulting Center.

E come sei in Econometrics, assicurati di guardare lo Econometrics with R di Grant Farnworth su CRAN; anche il libro Applied Econometrics with R di Zeileis e Kleiber è molto buono.

+0

Conosco davvero Grant. Questo è un buon punto di partenza per gli studenti. Ho anche considerato un compito per gli studenti di scegliere un'area per espanderla (Grant willing). Controllerò Zeileis e Kleiber. Grazie. – TJB

+2

+1 Per Farnsworth, e in particolare per il libro di Zeileis e Kleiber. Lo consiglio vivamente come introduzione. – Shane

+0

Un grande "R companion" per l'ottimo libro di testo di Introductory Econometrics di Wooldridge è "Using R for Introdotory Econometrics" di Heiss, disponibile anche online: http://urfie.net/ – Helix123

1

Poiché sei interessato a R, puoi anche dare un'occhiata a Incanter. Dal momento che è stato realizzato con Clojure, un dialetto Lisp per JVM, potrai sfruttare la vasta gamma di librerie Java esistenti.

+4

Ah, quindi per poter eseguire una regressione multipla, pensi che abbiano bisogno di imparare anche Java e Lisp? Non hai mai insegnato, vero? ;-) –

+1

@Dirk: corretto, anche se direi che Java e Lisp non dovrebbero essere l'obiettivo principale dal momento che Incanter può funzionare come ambiente autonomo. Imparare R significa anche imparare una sintassi e un ambiente. La "rete di sicurezza" di risorse utili su Java e Lisp è più ampia di qualsiasi altra R. Anche la sintassi Lisp è piuttosto piccola, quindi potrebbe abbassare un po 'la barriera all'ingresso. – rcampbell

+0

@Dirk: Non sono d'accordo con il punto, ma ciò detto: non è necessario conoscere Java per programmare con Incanter; solo Lisp. Continuo a pensare che Clojure sia più difficile da lavorare rispetto a R (per non parlare del fatto che R è migliore per l'econometria in questa fase), ma probabilmente non è un grosso divario per quanto riguarda la curva di apprendimento. – Shane

2

preferisco R, ma altre opzioni gratuite da considerare sarebbero:
una combinazione di ottava con gnuplot (Octave è un'implementazione libera Matlab)
pitone con NumPy, SciPy e matplotlib

+0

@user: adoro python.Spero che Python abbia avuto lo slancio per la statistica/econometria che R ha. Ma sembra che ci sia un equilibrio intorno a R per il presente. Cosa ne pensi di python vs. R? – TJB

+0

Beh, non sono un vero pitone. Conosco bene e quindi non ho sentito il bisogno di immergermi in Python per questo. Una caratteristica sottovalutata di R che rende piacevole per le applicazioni di tipo statistiche/matematiche è che tutti i tipi sono realmente vettori di questi tipi e tutte le operazioni agiscono sui vettori per impostazione predefinita. – frankc

2

Sono sorpreso nessuno -un altro ha citato Excel. Come Brian Ripley once said (vedi slide 7):

Non dobbiamo illuderci: la maggior parte diffuso di software per statistiche è Excel.

Infatti, Excel è uno strumento eccellente per sommare colonne di numeri. Detto questo, se l'analisi che stai facendo è più complicata di così, dovresti sicuramente usare un linguaggio di programmazione appropriato.

Dei tre ovvi linguaggi di manipolazione dei dati (R, MATLAB e Python), R ha i migliori strumenti di manipolazione dei dati. Vedi this other SO question per un confronto più dettagliato.


EDIT: Su rileggere questo, io suono piuttosto pro-Excel. Mi piacerebbe espandere la mia risposta per salvare la mia reputazione.

Excel causa molti più problemi che vantaggi. Il suo uso diffuso nella mia organizzazione è per lo più dannoso. Rende molto difficile rintracciare da dove provengono i dati e come funzionano i tuoi calcoli. Il debug di modelli Excel è quasi impossibile. Incoraggia gli archivi di dati locali invece dei database centrali. Non funziona con strumenti diff e rende difficile la riproducibilità della tua scienza. Da un punto di vista semantico, non separa i dati e ciò che è fatto ai dati. L'idea che tutte le tue variabili abbiano bisogno di una posizione distrae dalla comprensione. Le capacità di tracciamento sono incredibilmente orribili.

Tutto ciò che ha detto, Excel è utile per un paio di cose specifiche:

  1. Come spettatore CSV. Certo, R ha la funzione View, ma non è così carina.

  2. Esplorazione dei dati davvero semplice. Ordinandolo, filtrandolo, sommando colonne.Trovo che questi possano essere fatti un po 'più velocemente con un'interfaccia point and click piuttosto che con il codice. Naturalmente, dovrai scrivere il codice successivamente per la riproducibilità, ma nelle fasi iniziali, Excel è abbastanza carino per questo.

  3. I grafici sono distintivi e facili da individuare. Se vedi qualcuno che presenta una presentazione con un grafico disegnato in Excel, sai di non fidarti dei risultati.

Questo è tutto. Per qualsiasi altra cosa, è un casino.

+1

Stai scherzando. Hai letto [Spreadsheet Addiction] (http://www.burns-stat.com/pages/Tutor/spreadsheet_addiction.html) di Pat Burns? –

+0

Non considero Excel un linguaggio di programmazione, anche con VBA. Nella mia mente oscura piuttosto che illumina l'analisi dei dati. Grazie per il collegamento con l'altra discussione. – TJB

+0

Wow, davvero sorpreso di non essere stato votato all'oblio con questo. E sì, stavo scherzando. Excel è orribile sotto molti aspetti. Vale la pena saperlo comunque, per le occasioni in cui altre persone ti danno dati in un file XLS. –

0

R Il linguaggio è la migliore opzione per l'apprendimento e l'insegnamento del corso econometrico. Gretl è anche un altro utile software GUI.

4

Python - specificamente il NumPy, panda e matplotlib moduli tramite la ipython notebook come un IDE.

Anniderò tutti gli altri commenti che suggeriscono R. È innegabile che R abbia una libreria molto più vasta di pacchetti tra cui scegliere. Ma penso che sia assurdo cercare di insegnare la sintassi di R come il primo linguaggio di programmazione. I principianti non lo capiranno e verranno disattivati. La sintassi R è notevolmente controintuitiva.

Dalla mia esperienza personale, con solo una smidgeon di Python sono riuscito a ottenere quali funzioni, classi e oggetti fossero, e solo dopo che R aveva senso per me. Inoltre, trovo che il notebook ipython sia insuperabile nel rendere la codifica e la valutazione dei risultati facili. Ha abolito la necessità di continuare a spostare gli occhi dalla finestra dell'editor di origine alla finestra della shell e viceversa, come si avrebbe in qualsiasi altro IDE.

Problemi correlati