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?
risposta
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.
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
+1 Per Farnsworth, e in particolare per il libro di Zeileis e Kleiber. Lo consiglio vivamente come introduzione. – Shane
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
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.
Ah, quindi per poter eseguire una regressione multipla, pensi che abbiano bisogno di imparare anche Java e Lisp? Non hai mai insegnato, vero? ;-) –
@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
@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
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
@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
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
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:
Come spettatore CSV. Certo, R ha la funzione
View
, ma non è così carina.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.
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.
Stai scherzando. Hai letto [Spreadsheet Addiction] (http://www.burns-stat.com/pages/Tutor/spreadsheet_addiction.html) di Pat Burns? –
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
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. –
R Il linguaggio è la migliore opzione per l'apprendimento e l'insegnamento del corso econometrico. Gretl è anche un altro utile software GUI.
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.
- 1. qual è il miglior linguaggio di programmazione per l'elaborazione video?
- 2. Miglior linguaggio di programmazione per l'elaborazione delle immagini mediche
- 3. miglior linguaggio di strumento/programmazione per la visualizzazione dei dati
- 4. Qual è il miglior linguaggio di programmazione per scrivere un web bot?
- 5. qual è il miglior linguaggio di programmazione per scrivere parser e compilatori?
- 6. Qual è il miglior linguaggio di programmazione per l'apprendimento automatico della macchina?
- 7. Qual è il miglior IDE per la programmazione DigitalMars D?
- 8. Linguaggio di programmazione misterioso
- 9. . Linguaggio .NET per programmazione simultanea
- 10. Linguaggio di programmazione Web per elenchi molto grandi?
- 11. libreria di algebra lineare per il linguaggio di programmazione D
- 12. Driver PostgreSQL per linguaggio di programmazione Go
- 13. Qualcuno usa il linguaggio di programmazione Scheme per vivere?
- 14. Applicazioni per il linguaggio di programmazione della chiesa
- 15. Qual è il miglior linguaggio di raschiatura dello schermo?
- 16. Agda come linguaggio di programmazione
- 17. Programmazione linguaggio assembly di Windows
- 18. Quale linguaggio di programmazione funzionale dovrei scegliere come primo linguaggio di programmazione funzionale?
- 19. stato di sviluppo web usando il linguaggio di programmazione funzionale
- 20. Metodologie per la progettazione di un linguaggio di programmazione semplice
- 21. Linguaggio di programmazione di alto livello per composizione musicale
- 22. Implementazioni del linguaggio di programmazione logo
- 23. Analisi lessicale del linguaggio di programmazione Python
- 24. linguaggio di programmazione del progetto Enterprise Architect
- 25. Creare un linguaggio di programmazione con C#
- 26. Esistono modelli nel linguaggio di programmazione C?
- 27. Piattaforma per la creazione di un linguaggio di programmazione visuale
- 28. Come creare un linguaggio di programmazione .Net?
- 29. PHP come linguaggio di programmazione desktop
- 30. più dinamico linguaggio di programmazione dinamica
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
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. –
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