TRƯỜNG ĐẠI HỌC THỦY LỢI BỘ MÔN KINH TẾ ***** BÀI GIẢNG TIN HỌC ỨNG DỤNG TRONG KINH TẾ Biên soạn Th S Trần Văn Khiêm Th S Nguyễn Phương Mạnh Hà Nội, 2015 Bài giảng Tin học ứng dụng trong kinh tế 1 Bộ m[.]
TRƯỜNG ĐẠI HỌC THỦY LỢI BỘ MÔN KINH TẾ ***** BÀI GIẢNG TIN HỌC ỨNG DỤNG TRONG KINH TẾ Biên soạn: Th.S Trần Văn Khiêm Th.S Nguyễn Phương Mạnh Hà Nội, 2015 Bài giảng Tin học ứng dụng kinh tế Nội dung Phần 1: Thông tin môn học Thông tin Mục tiêu, vai trị mơn học Người dạy Thời gian thời lượng học kì vọng Cách kiểm tra Phần 2: Nội dung môn học Giới thiệu chung Giới thiệu Stata Làm quen với Stata Giới thiệu Stata Giao diện Stata, file, log file, dta file 10 Sử dụng công cụ hướng dẫn Stata 22 Cấu trúc lệnh Stata 22 Tài liệu học Stata 25 Dữ liệu Stata 25 Dữ liệu St t 25 Nh p ữ liệu gộp ữ liệu x Tạo i n th y ữ liệu 28 i i n 32 Mô tả liệu 33 Mô tả tương qu n c c i n 35 Làm việc với th St t 36 Mơ hình n tính với Stata 38 Ph n t ch trước ph n t ch h i quy 38 Ph n t ch h i quy 39 Tính fitted value, phần thực o n 41 T nh t c ộng ri ng củ Kiểm i n ộc l p 43 nh giả thuy t 44 H i quy với i n c t goric l 44 Mở rộng mô h nh sử ụng i n Kiểm nh phương i n tương t c 45 nh giả thi t mơ hình h i quy n t nh ản 45 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Mô h nh GLS 49 Mơ h nh n tính với Instrumental variable 50 Phân tích chuỗi thời gian với Stata 51 Quản lý liệu thời gian Stata 51 Mơ hình n tính với liệu thời gian 52 Phân tích breakpoint liệu chuỗi thời gian 53 Công cụ phân tích Box-Jenkins 54 Mơ hình VAR 56 Mơ hình cho bi n phụ thuộc không liên tục với Stata 57 Mô h nh x c suất n t nh với bi n phụ thuộc binary 57 Mô h nh Pro it v logit với bi n phụ thuộc hai lựa chọn 58 Dự o k t 58 T nh t c ộng t ng phần 58 Kiểm nh 59 Mơ hình probit logit với bi n phụ thuộc dạng khác (ordered multinomial) 59 Giới thiệu R 59 Làm quen với R 59 Kh i niệm v l ch sử R 65 iểm củ R so với St t 65 Gi o iện v c c công cụ hỗ trợ R 66 T m ki m trợ gi p tr n R 76 C ch R hoạt ộng v xử l lỗi 76 Thông tin kh c v R 77 Ki n thức ản v R 79 C c ạng ữ liệu R 79 C c ối tượng lưu trữ liệu ản 80 L p tr nh nh hướng ối tượng R 90 Vi t phương tr nh tr n R 91 C u lệnh kiểm so t control st t m nt 93 Một số thủ thu t data tidying với R 96 Nh p liệu bảng t file 96 Hoạt ộng data tidying 99 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Một số thủ thu t làm liệu với R 101 10 Khám phá liệu 105 ôi n t v kh m ph V s on n ng ữ liệu 105 th kh m ph ữ liệu 106 C c hệ thống th R 107 Sử ụng ể kh m ph 11 th ữ liệu 112 Phân tích h i quy 113 H i quy n t nh 113 Sử ụng k t h i quy 114 Thực kiểm nh tr n R 115 Lưu v công thức lệnh lm( ) 117 Phân tích chuỗi thời gi n với R 118 12 L p trình phục vụ nghiên cứu kinh t 120 Một số nh hướng vi t chương tr nh m y t nh 120 Vi t chương tr nh ph n t ch mô h nh h i quy 123 Mở rộng chương tr nh 123 Phần 3: Tài liệu tham khảo 124 Phần 4: Một số thu t ngữ hữu ích 124 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Phần 1: Thông tin môn học Thông tin ản - Mã số mơn học: AIBA315 - Số tín chỉ: - Môn học trước: Kinh t lượng I, Tin học ại cương Mục tiêu, vai trị mơn học - T ng quan môn học: y l môn học ản v ứng dụng tin học kinh t ược thi t k cho sinh viên với ki n thức ản v kinh t lượng sử dụng máy tính So với mơn học tin học ại cương mơn học t p trung vào cách sử dụng số phần m m ể xử lý, phân tích liệu phục vụ nghiên cứu kinh t - Mục tiêu học: Thứ nhất, sinh viên nắm ược cách sử dụng phần m m St t v R ể nh p liệu, xử lý liệu, phân tích liệu, kiểm nh giả thuy t ự o n Thứ hai, sinh viên bi t cách tìm hiểu v cơng cụ phân tích liệu máy tính thơng qua lệnh tìm ki m trợ giúp Thứ ba, sinh viên học ược số thủ thu t l p trình R - Liên k t với môn học khác: Môn học gi p người học áp dụng ki n thức lý thuy t kinh t lượng vào phân tích liệu thực t , chuẩn b cho người học kĩ cần thi t ể học sâu thêm v kinh t lượng, thống kê, l p tr nh Kĩ c ược mơn học cần thi t q trình làm nghiên cứu khoa học vi t khóa lu n sinh viên - Cơ hội ngh nghiệp: Lượng liệu m người cần xử l nh nh ng thời việc sử dụng liệu dự báo, quản l v y kĩ sử dụng phần m m ng tăng trưởng ngày ng ng y c ng ph bi n Vì xử lý phân tích liệu kĩ l m qu n với phần m m quan trọng Ngày nay, nhi u công việc yêu cầu người làm việc phải bi t sử dụng phần m m phân tích liệu thơng dụng St t R Người dạy - Giảng viên môn Kinh t Thời gian thời lượng học kì vọng - Thời gian diễn bu i học: xem thời khóa biểu - Thời lượng bu i học: 45 - Tự học trước sau bu i học: 60 - Chuẩn b cho kiểm tra kỳ: 15 - Chuẩn b cho kiểm tra cuối kì: 20 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế T ng cộng: 140 Cách kiểm tra iểm - nh: iểm danh bu i học - Kiểm tra kì: Làm giấy, có sử dụng máy vi tính - Thi cuối kì: Làm giấy, có sử dụng máy vi tính Phần 2: Nội dung môn học Giới thiệu chung y l môn học ản v ứng dụng tin học kinh tế ược thi t k cho sinh viên với ki n thức ản v kinh t lượng sử dụng máy tính So với mơn học tin học ại cương môn học t p trung vào cách sử dụng số phần m m ể xử lý, phân tích liệu phục vụ nghiên cứu kinh t Thu t ngữ “tin học”: Tin học ngành khoa học chuyên nghiên cứu trình tự ộng hóa việc t chức lưu trữ xử lý thơng tin hệ thống máy tính Với cách hiểu nay, tin học bao hàm tất nghiên cứu kỹ thu t c li n qu n n việc mô phỏng, bi n i tái tạo thơng tin Máy tính, hệ thống máy tính bao g m thi t b ược l p tr nh ể thực phép tốn cách tự ộng V y thi t b m y vi t nh m y t nh ỏ t i lạnh, số n i cơm iện, số quạt iện… iện thoại i ộng, tủ u máy tính Trong mơn này, ứng dụng phần m m xử lý phân tích liệu hoạt ộng phân tích liệu kinh t , nghiên cứu kinh t y l phần nhỏ ứng dụng tin học kinh t Vì phải sử dụng máy tính: Máy tính thực ược hoạt ộng lặp i lặp lại cách xác, nhanh chóng ti t kiệm người nhi u lần Ví dụ: máy tính bỏ túi thực ph p t nh ^ nháy mắt r lượng không p số cụ thể n 1/1000000 (hoặc v tốn ng kể Một người thực phép tính vài chục phút, phải sử dụng bảng tra cứu, giấy nháp, tốn lượng m y t nh nhi u lần Trong trình nghiên cứu kinh t , lợi th máy tính ược thể phải xử lý liệu với h ng trăm quan sát trở lên Ngày nay, khả t nh to n máy tính khơng thể thi u ối với hầu h t hoạt ộng phân tích xử lý liệu Máy tính khơng thể l m i u nghiên cứu kinh t : Chúng ta thấy c c chương tr nh St t R tự thu th p liệu, không bi t bi n mục tiêu bi n ộc l p bi n Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế nào, không bi t chọn mô h nh n o ể phân tích liệu Các hoạt ộng n y o người sử dụng chương tr nh thực Tuy nhi n người liệu, chúng thực việc n y ng ph t triển máy tính chuyên thu th p u ặn, tốn t lượng, gửi liệu với nh dạng chuẩn tới nơi xử lý l p tức Các nhà tâm lý học sử dụng m y t nh ể o lường ộ thỏa dụng củ c nh n C c chương tr nh m y tính tự chọn mơ hình phân tích liệu bi t bi n mục ti u ng trở nên ph bi n Trong tại, việc o c i g người quy t i n mục ti u l g … nh Tuy nhi n tương l i c thể m y t nh thực hoạt ộng Trong chương tr nh học ại học ch ng t cứu xuất phát t vấn ược làm quen với quy tr nh s u: người nghiên kinh t xã hội, r chủ th p liệu, xử lý phân tích liệu nghiên cứu, l p k hoạch thực thu r k t lu n v xuất s ch phương n Chương tr nh m y t nh th m gi v o công oạn xử lý phân tích liệu Nhi u phần m m ược sử dụng, ví dụ St t R SPSS Evi ws St tgr phics MATLAB SAS… Trong mơn học này, tìm hiểu Stata R Tuy nhi n người học cần hiểu y hai chương tr nh xử lý phân tích liệu nhất, v y cần học sâu thêm v St t R tìm hiểu thêm v c c chương tr nh m y t nh kh c Giới thiệu Stata Làm quen với Stata C ch ơn giản ể mở chương tr nh St t số m y t nh l click p v o iểu tượng Stata, có hình dạng s u: Hình: Biểu tượng cho chương tr nh St t phi n ản 12 C c chương tr nh St t phi n ản khác có biểu tượng với hình dạng tương tự ể tắt chương tr nh St t ch ng t c thể click vào biểu tượng dấu X góc trên, bên phải cửa s Stata (xem hình minh họa) Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Hình: click vào dấu X ể ng chương tr nh St t Một số lệnh ể làm quen với Stata: Trong cửa s Stata, click vào cửa s Command (khoảng trắng phần giữa, phía ưới cửa s Stata – xem hình minh họa) Hình: cửa s Command cửa s chương tr nh St t Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Chúng ta nh p t ng lệnh lệnh sau, r i nhấn Enter: sysuse auto.dta d sum hist price hist mpg scatter mpg price Các hình ảnh sau xuất nh p lệnh: Hình: Lệnh sysuse auto.dta Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Hình: lệnh hist price Chúng ta v a thực số thao tác phân tích liệu ản, bao g m mở liệu, tìm hiểu thơng tin v bi n liệu, tính thống kê t ng bi n, dựng số th ể hiểu thêm v phân phối số bi n Cụ thể: Lệnh sysuse auto.dta nhằm mở liệu; Lệnh d nhằm mô tả bi n; Lệnh sum tính thống kê cho bi n liệu; Lệnh hist price nhằm dựng th histogram v bi n price; Lệnh hist mpg dựng histogram v bi n mpg; Lệnh scatter mpg price dựng th th mpg theo price Giới thiệu Stata Stata phần m m phân tích liệu ược vi t bán St t Corp St t c c c t nh cho ph p người dùng quản lý liệu, phân tích liệu, xây dựng th , giả l p, ước lượng mơ hình h i quy v hỗ trợ l p trình St t ược thi t k thân thiện với người dùng nhà nghiên cứu xã hội: kinh t , khoa học tr , khoa học xã hội, sức khỏe cộng ng… Gi o iện củ St t cho ph p người dùng với ki n thức tin học thực hoạt ộng phân tích liệu cần thi t Gi ể mua Stata 14 (bản nhất) năm cho người Việt Nam t 300 USD 450 USD Gi ể mua phiên Stata trọn ời l 600 n n 900 USD Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế geom = c(“point”, “smooth”) b sung giá tr cho bi n method: method = “lm” Xây dựng đối tượng ggplot2: ối tượng ggplot2 ược xây dựng s u: Bước 1: cung cấp liệu ể xây dựng th : Cú pháp: x = ggplot(data); danh sách chứa bi n ược sử dụng ể xây dựng th Bước 2: sửa thuộc tính mỹ thu t ối tượng th : - Chúng ta k t nối liệu với tọ t l ộ trục hoành tung: x = x + aes(x = x1, y = x2), (x1 với trục hoành, x2 với trục tung) - Chúng ta cung cấp ối tượng th , ví dụ: x = x + geom_point(aes(…) ,…); cấp ối tượng th geom_point( ) cung iểm (dữ liệu ược thể thông qu thuộc tính mỹ thu t củ iểm), aes(…) cung cấp iểm (ví dụ: aes(col = z) nghĩ l qu n s t với giá tr bi n z khác có màu khác nhau) Phần … s u c ng ể chỉnh thuộc tính chung iểm x = x + geom_smooth(method = chuỗi.kí.tự, size, linetype,…); geom_smooth( ) cung cấp ối tượng method nêu c ch ường ược tạo (method = “lm” nghĩ l tính), size linetype th ường, ường h i quy n ể chỉnh kích cỡ dạng ường x = x + facet_grid(k~q) nhằm chia liệu thành nhóm xây dựng - th kh c nh u tượng tự qplot( ) ) Ch ng t th y i kí hiệu tr n th thông qua lệnh labs( ), xlab( ), ylab( ), ggtitle( ) N n củ th c thể ược th y i lệnh theme_gray( ) theme_bw( ) Các lệnh tr n ược cộng v o s u ối tượng ggplot2 Thiết bị đồ họa: Chúng ta th thiêt b pdf, file png, jpeg, svg (scalable vector graphic, dạng fil khơng nhịe hình) Mỗi thi t b họ kh c nh u m n h nh fil ặc biệt phóng to thu nhỏ mà họa có cơng dụng kh c nh u: m n h nh thường ược sử dụng phân tích trực ti p liệu; dạng fil png jp g p f… ể lưu trữ chuyển s ng cho người kh c th ể xuất hoặc l n tr ng w 111 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Các hệ thống plot nh cho thể u mặc nh gửi th hình Trong số trường hợp, có th gửi hình cách dùng lệnh sử dụng thi t b hình: Cú pháp window windows( ) ể nh th gửi tới thi t b khác ngồi hình, phải mở thi t b trước th v vẽ ng lưu v ng thi t b vẽ xong Lệnh ể mở v pdf, là: Cú pháp mở: pdf(file = “tên file”); C ph p Lệnh ể chép ng thi t b , ví dụ fil ng: dev.off( ) th t hình thi t b khác, ví dụ fil p f: Cú pháp: dev.copy(pdf, file = “tên file”) dev.off( ) Sử ụng th ể kh m ph ữ liệu Chúng ta nghiên cứu liệu diamonds, có sẵn liệu ví dụ R Mở liệu: data(“diamonds”) Ví dụ v hàm sử dụng ể phân tích khám phá liệu: str(diamonds), hist(các biến), boxplot(các biến)… Gợi ý phân tích: Sử dụng nguyên tắc phân tích khám phá liệu sử dụng nhi u hệ thống th Dưới y l số video clip hữu ích v chủ khám phá liệu phần c c clip u có phụ ti ng Việt Link 1: https://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen Link 2: https://www.ted.com/playlists/56/making_sense_of_too_much_data Cách b t phụ ti ng Việt link 1: Bước 1: Click vào biểu tượng Subtitles góc trang 112 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Bước 2: Chọn phụ ti ng Việt 11 Phân tích h i quy H i quy n t nh Mơ hình h i quy n t nh i n ản: , với Sử dụng liệu mẫu v chương tr nh xử lý R, t nh ước lượng OLS tham số , thống k F t… Lệnh thông dụng cho mơ hình h i quy n tính lệnh lm( ) Cú pháp: lm(công.thức, data, …); : 113 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế - Công.thức ược vi t ưới dạng biến.phụ.thuộc ~ biến độc lập + biến độc lập + … Mơ hình mặc nh có giá tr chặn (intercept) nên cần vi t tên bi n Các bi n cơng thức bi n i bi n liệu, ví dụ log(y), log(x) - Bi n data danh sách (hoặc bảng) chứa bi n ược sử dụng công thức N u t không ược cung cấp, hàm tìm bi n phạm vi chung - Phần “…” ể i u chỉnh mơ hình h i quy n tính (phần khơng thi t phải có n u sử dụng ước lượng OLS) Sử ụng k t h i quy K t h i quy ược lưu v o ối tượng thuộc dạng ối tượng “lm” C ph p ể lưu ối tượng k t quả: lm_fit = lm(…); h i quy lm_fit l t n ch ng t ặt cho ối tượng k t ối tượng k t h i quy ược xem danh sách chứa k t ước lượng, sai số chuẩn, thống k F… v c c gi tr ng qu n t m kh c ể x m c c ối tượng chứa lm_fit, dùng lệnh: class(lm_fit) ể in k t h i quy hình, gọi ối tượng k t quả, dùng lệnh summary( ), print( ) Ví dụ: lm_fit summary(lm_fit) print(lm_fit) C c h m kh c ể sử dụng k t h i quy (trong ngoặc l ối tượng k t quả): coef( ) ể lấy k t ước lượng tham số resid( ) residuals( ) ể lấy phần fitted( ) fitted.values( ): giá tr ước lượng bi n phụ thuộc confint( ) ể lấy khoảng tin c y giá tr tham số ước lượng deviance( ) ể lấy RSS vcov( ) ể lấy ma tr n hiệp phương s i logLik( ) ể tính log-likelihood (giả nh nhiễu tuân theo phân phối chuẩn) AIC( ) ể lấy tiêu chí thơng tin Lệnh plot( ) với ầu v o l Có dạng th ối tượng k t mơ hình trả v c c ược trả v c ạng ược vẽ mặc th liên quan tới mơ hình nh ể vẽ c c th trang 114 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế giấy, dùng lệnh: par(mfrows=c(2,2)) plot(lm_fit) par(mfrows= c(1,1)) #trả v dạng th trang Xem thêm v lệnh: ?plot.lm Lệnh predict( ) sử dụng liệu v ối tượng k t h i quy ể r phụ thuộc Cú pháp lệnh: bảng.dự.đoán interval, level, type,…); = ự o n cho i n predict(object, : Bi n object l newdata, ối tượng k t h i quy; Biến newdata bảng liệu (bao g m bi n có tên giống với bi n ộc l p) N u khơng có bảng liệu, liệu gốc ược sử dụng; Biến interval ba t : “none”, “confidence”, “prediction” N u interval = “confidence”, hàm trả v giới hạn giới hạn ưới mà giới hạn ch ng t c thể chắn (với ộ tin c y = level) có chứa E(y|x) N u interval = “prediction”, hàm trả v giới hạn mà ch ng t chắn có chứa y Giới hạn prediction interval lớn giới hạn confidence interval; Biến level: ộ tin c y, b sung cho q trình tính interval Giá tr mặc nh 0.95; Biến type: dạng dự o n N u type “response”, dự o n gi tr bi n phụ thuộc N u type “terms”, dự o n phần giá tr bi n phụ thuộc liên quan tới t ng bi n ( ể xem thêm v hàm predict( ) cho ối tượng k t h i quy n tính, dùng lệnh: ?predict.lm Thực kiểm Các kiểm nh tr n R nh li n qu n h i quy S u n mô h nh c thể ược thực tr n R s u c y l c ch thực số kiểm ối tượng k t nh ph bi n: Kiểm định phù hợp biến: Trong ối tượng k t h i quy có giá tr ước lượng, thống kê t, p-v lu y l thông tin ược ng ể kiểm nh phù hợp bi n ộc l p mơ hình Kiểm định sử dụng package “car”: Package “car” R cung cấp nhi u công cụ ể thực kiểm nh phức tạp “car” xuất phát t vi t tắt Companion to Applied Regression, package không chứa cơng cụ kiểm nh mà cịn có ích phân tích h i quy nói chung Package u cầu R 3.2.3 trở nên) 115 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Kiểm định giả thuyết tuyến tính: hàm linearHypothesis() ược sử dụng ể kiểm nh giả thuy t n tính với tham số Giả thuy t n tính có dạng: 𝐻 𝑅 𝐻 𝑅 R l ma tr n g m hệ số, r vector Cú pháp lệnh linearHypothesis: linearHypothesis(model, : Model l hypothesis.matrix, rhs,…); ối tượng k t h i quy; Hypothesis.matrix ma tr n R slide trước; Rhs vector r sli trước Hoặc: linearHypothesis(fit,c('x1=0',"x1:x2b=0")) Giả thuyết phi tuyến tính ược kiểm nh thơng qua hàm tính giá tr hàm phi n tính tham số - hàm deltaMethod( ) Hàm trả v ước lượng sai số chuẩn Chúng ta bi t mẫu lớn, ̂ phân phối chuẩn xung quanh hàm phi n tính , v y 𝐻 ng ước lượng sai số chuẩn kiểm 𝐻 Cú pháp lệnh nh ược giả thuy t: deltaMethod( parameterNames,…); ): result1 : O j ct l = deltaMethod(object, g, ối tượng k t ước lượng; Bi n g chuỗi kí tự biểu th hàm phi n tính, ví dụ “x1/x2”; Bi n parameterNames vector chuỗi kí tự giúp ta chọn lựa tên cho tham số T n n y tương ứng với tên g N u không cung cấp giá tr cho bi n này, tên bi n mơ hình h i quy ược sử dụng Tính khoảng tin cậy cho g( ): Sau có giá tr ước lượng sai số chuẩn, tính khoảng tin c y cho g( ) theo lệnh s u: a = significance.level #vi du: a = 0.05 lower.bound = result1$Estimate – result1$SE*qnorm(1 - a/2) higher.bound = result1$Estimate + result1$SE*qnorm(1 - a/2) Kiểm định giả thiết phương sai sai số không đổi: H m ể thực kiểm P g n cho phương s i s i số th y i: 𝐻 𝑛 𝑛 𝐻 nh Breusch – Cú pháp: ncvTest(model, varformula) #hàm ncvTest package car bptest(formula, varformula) #hàm bptest package lmtest Chúng ta cung cấp giá tr (dạng ~ x1 + x2 + … ối tượng k t h i quy cho bi n model formula Bi n varformula ng ể x c nh bi n ộc l p tham gia vào kiểm nh B – P varformula ể trống tương ương với việc dùng tất bi n mơ hình h i quy) 116 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Ngo i r ch ng t c thể tự thực kiểm nh phương s i th y i cách lấy phần v c c i n liên quan, thực ước lượng h i quy Kiểm định đa cộng tính: Chúng ta dựa vào sai số chuẩn thống kê F k t ước lượng ể xem xét tình trạng Cách kiểm cộng n nh cụ thể: sử dụng y u tố ph ng ại phương s i V ri nc infl tion f ctor N u số lớn 10 th c xảy cộng n Cú pháp R: vif(mod); mo l ối tượng k t ước lượng Kiểm định khác: Kiểm nh Durbin – Watson: durbinWatsonTest( ); Kiểm nh phân phối chuẩn: ksnormTest( ); shapiroTest( ); jarqueBeraTest( ); jb.test( )…; Kiểm nh J Davidson Mackinson cho hai mô hình non-nested: jtest( ) Lưu v cơng thức lệnh lm( ) Công thức lệnh lm( ) (formula) nhằm cho hàm bi t cấu trúc mơ hình h i quy Ch ng t ã l m qu n với công thức dạng y ~ x1 + x2 + … S u y l c ch vi t công thức mở rộng cho c c mô h nh h i quy n tính bao g m bi n i n tương t c i n nh phương i n không liên tục ặc trưng cơng thức có dấu “~” Khi vi t y ~ mơ.hình, hiểu y ng ược mơ hình hóa mơ.hình Trong mơ hình có chứa số hạng Các dấu +, - , *, /,… sử dụng ể vi t công thức c nghĩ kh c với tốn tử +, - , *, / phép tính Kí hiệu Ví dụ Giải thích + +x Thêm bi n x vào công thức - -x Bớt bi n x khỏi công thức : x:y Thêm bi n tương t c x y vào công thức * x*y Thêm bi n x, y, x:y vào công thức / x/y Thêm bi n x x:y vào công thức 117 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế %in% y %in%x Tương ương với x:y ^ (x+y+z)^3 Thêm bi n x y z v c c tương t c giữ ch ng cho n tương tác bi n (x:y:z) I Thêm bi n x^2 vào cơng thức (các tốn tử I I(x^2) ược hiểu to n tử phép tính) -1 Bỏ hệ số chặn khỏi mơ hình (mơ hình khơng có intercept) Một số ví dụ v công thức: y ~ (a+b+c)^2 tương ương với y ~ a + b + c + a:b + b:c + c:a y ~ a*b*c tương ương với y ~ a + b + c + a:b + b:c + c:a + a:b:c Chúng ta xem chi ti t số hạng công thức lệnh terms(cơng.thức) Phân tích chuỗi thời gi n với R R cung cấp nhi u cơng cụ hỗ trợ phân tích chuỗi thời gian, bao g m ối tượng lưu trữ liệu cho chuỗi thời gi n v c c h m ph n t ch ối tượng lưu trữ liệu chuỗi thời gian cột ma tr n có dạng ối tượng l “ts” Ch ng t c thể chuyển vector, ma tr n, data frame thành ts lệnh ts( ) as.ts( ) Một số công cụ th y i ối tượng chuỗi thời gian ts: Xóa cột: o ối tượng ts ma tr n, việc xóa cột khơng dễ ng x cột data frame tương ương với xóa phần tử danh sách) Chúng ta xóa cột cách chọn cột lại: ts1 = ts1[, -1] #lấy cột tr cột ầu tiên Tạo thêm cột mới: Sử dụng lệnh ts.intersect( ) ts.union( ) Hai lệnh u gộp chuỗi thời gian vào với nh u lệnh ts.intersect( ) bỏ dịng có NA, cịn lệnh ts.union( ) khơng bỏ dịng có giá tr NA Ví dụ: ts.union(ts1, diff(ts1, lag = 1)) Xóa dịng: Chúng ta xóa dòng cách lấy dòng lại: ts1 = ts1[-1,] #lấy dòng tr òng ầu tiên 118 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Lệnh phân tích chuỗi thời gian: Lệnh in chuỗi thời gian: print(ts1) Với liệu có chu kỳ, lệnh thể chu kì in Xem thời iểm bắt ầu k t thúc, chu kì chuỗi thời gian: start(ts1); end(ts1); frequency(ts1) Dựng th theo thời gian: plot(ts1); plot(ts[,1]); ts.plot(ts[,1]); tsdisplay(ts1[,1], lag.max) Tính giá tr t ng hợp t ng chu kì: aggregate(ts[,1], FUN = mean) #chúng ta thay mean h m kh c sum Dựng biểu tự tương qu n: acf(ts1[,1], lag.max) Dựng biểu tự tương qu n t ng phần: pacf(ts1[,1], lag.max) Tạo chuỗi sai phân: diff(ts1[,1], lag = 1); diff(ts1[,1], lag = frequency(ts1)) Lấy giá tr lag: lag(ts[,1], k = -1) #lag-1 ts[,1] Ước lượng mơ hình n tính với chuỗi thời gian: lệnh dynlm( ) thuộc package “dynlm” Ước lượng mơ hình Arima: arima(ts1, order, seasonal); auto.arima( ) Kiểm nh phần l nhiễu trắng: Chúng ta thực kiểm nh Q Ljung-Box Giả thuy t H0: phần l nhiễu trắng; giả thuy t H1: phần nhiễu trắng Hàm: Box.test(x = res, lag = 40, type = “Ljung-Box”, fitdf) phần t mơ hình h i quy; lag số l g ược sử dụng box.test; fitdf l : res ộ tự do, ặt số tham số ược ước lượng Dự o n gi tr tương l i chuỗi thời gian sử dụng mô hình h i quy: Chúng ta dùng hàm forecast() thuộc package forecast(object, h); “forecast” : O j ct l Cú pháp lệnh: fore1 = ối tượng mơ hình chuỗi thời gian (trả v t h m ước lượng mô hình chuỗi thời gian); H số gi i oạn tương l i cần ược dự o n Giá tr dự o n tương l i c thể ược vẽ lệnh ơn giản: plot(fore1) 119 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế 12 L p trình phục vụ nghiên cứu kinh t nh hướng vi t chương tr nh m y t nh Một số Vi t chương tr nh m y t nh l p trình) trình dạy máy tính giải quy t vấn ộng bao g m việc hoàn thiện tưởng v “vấn g ?” “ ạn muốn l m g ?” v “ ạn muốn biểu diễn i u Hoạt bạn cần máy tính giải quy t r s o?” C c ước ể phát triển chương tr nh m y t nh: Ph n t ch vấn ; Thi t k thu t toán; Triển khai chương tr nh; Kiểm tr chương tr nh; Ph n t ch lại, thi t k lại, triển khai lại, kiểm tra lại n u cần thi t Như v y l p trình khơng phải cơng việc theo tuần tự, mà lặp lại nhi u lần trình phân tích, thi t k , triển khai, kiểm tr cho ược n ch ng t ạt ược chương tr nh thực ng i u muốn) Gợi ý cách tiến hành hoạt động: Hoạt động phân tích: Trong hoạt ộng nên thử ứng t v i trò người dùng chương tr nh Hãy ặt câu hỏi: chương tr nh n y l m ược cho tơi? Tơi cần chương tr nh l m i u nhất? i u gi p ch khơng phải thực thi t y u? Hãy t m r c c t nh th t cần thi t v li n qu n n nh u ể tạo gói yêu cầu ản Người l p trình bắt ầu xây dựng chương tr nh nhằm thỏa mãn yêu cầu trước, r i s u tìm cách thỏa mãn yêu cầu khác cách thêm tính mở rộng Trong ước n y ối với c c chương tr nh phức tạp người l p trình nên khảo sát nhu cầu thực t khách hàng ti m Hoạt động thiết kế thuật tốn: Trong hoạt ộng này, chúng t t m c ch chi chương tr nh thành phần nhỏ mo ul C c phần nhỏ thực nhiệm vụ kh c nh u phần n y l ầu ầu vào củ chương tr nh kh c C c phần nối ti p ể tạo k t t thông tin ầu v o o người dùng cung cấp Chúng ta tách nhỏ chương tr nh cho n phần giải quy t vấn v ov i v cấu trúc ầu dễ hiểu không c th y ơn giản c ầu Ch ng t hướng tới việc chi chương tr nh th nh c c phần cho phần hàm sẵn có thư viện i u giúp rút ngắn thời gian l p tr nh ng kể, h m thư viện ã ược l p trình kiểm nghiệm 120 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Hoạt ộng thi t k thu t toán yêu cầu tư uy s ng tạo k t hợp với am hiểu v tài ngun mà có Người l p tr nh c tư uy i hạn cố gắng thi t k phần cho chúng ược sử dụng lại tương l i Họ lưu trữ hàm mà tạo r ể vi t lại h m tương tự Hoạt động viết chương trình: Chúng ta vi t chương tr nh ằng cách vi t t ng phần r i ghép vào th nh chương tr nh lớn Chúng ta cần kiểm tra liên tục t ng phần nhỏ củ chương tr nh ể ảm bảo làm ch ng t nghĩ v Việc kiểm tra t ng phần nhỏ dễ trình lớn v ch ng t ã nh nghĩ rõ ược ầu v o v ng nhi u so với kiểm tr chương ầu Khi ghép hai phần nhỏ v o nh u ch ng t cần thực kiểm tra hoạt ộng phối hợp hai phần nhỏ Chúng ta vi t chương tr nh ơn giản trước vi t phiên chương tr nh phức tạp thường tới gi i oạn bạn nh n r chương tr nh ơn giản th ơn giản nhi u so với bạn nghĩ Hoạt động kiểm tra: Chúng ta kiểm tr chương tr nh ằng c ch r loạt c c ầu vào nhằm x m chương tr nh c tạo ầu r k vọng khơng ầu vào có kiểu: ầu v o ản – dạng ầu vào mà dễ dàng bi t ầu có xác h y khơng; ầu vào sai – dạng ầu vào mà bi t sai, kì vọng chương tr nh xử lý cách hợp l không l m người dùng nhầm lẫn yl ầu v o ng ; ầu vào giá tr biên – dạng ầu vào mà giá tr cực lớn, cực nhỏ, dạng ầu vào khó tính tốn, nhằm tìm giới hạn củ chương tr nh Ch ng t n n lưu lại c c ầu v o ược sử dụng ể kiểm tra nhằm sử dụng lại cho lần kiểm tra ti p theo C c ầu củ chương tr nh kể ng h y s i u n n ược lưu lại ể so sánh với chương tr nh ược chỉnh sửa M rộng chương trình: S u ã c chương tr nh ản chạy n rộng chương tr nh i u ầu tiên cần th m l người sử dụng th y v nh, mở ảm bảo chương tr nh c thể thông báo lỗi cho ột ngột d ng chương tr nh r thông o kh hiểu) 121 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Chúng ta mở rộng dạng ầu v o ể người dùng có nhi u lựa chọn việc mở rộng ầu vào áp dụng với h m ã c thư viện) Chúng ta t chức lại ầu r ể cung cấp thông tin cách hệ thống Mỗi mở rộng t nh ch ng t phải kiểm tra lại chương tr nh Ví dụ: thiết kế xây dựng ô tô: Tưởng tượng cần thi t k chi c ô tô t ầu (tạm coi mẫu ô tô ã c t trước không t n tại) Hoạt động phân tích nhu cầu: Người dùng ô tô cần t nh n o? Di chuyển, chở người, di chuyển nhanh, di chuyển êm, kiên cố c i u hịa, có âm nhạc c m n h nh ể xem phim, sử dụng xăng sử dụng iện… Những t nh n o l t nh ch nh? Di chuyển, sử dụng nhiên liệu, chở ược người - Chúng ta có cần tạo xe ô tô i u khiển ược hướng i khơng? - Chúng ta có cần tạo xe tơ d ng lại khơng? - Chúng ta có cần sử dụng nhiên liệu không? T nh sử dụng iện sử dụng nhiên liệu khó ghép vào với Chúng ta cần khảo sát xem loại nhiện liệu n o n n ược sử dụng Hoạt động thiết kế thuật toán: - ầu vào củ ô tô l g ? ầu ô tô gì? Chúng ta tách tơ thành phần nào? Nhiên liệu ược v o ộng ộng tạo chuyển ộng, chuyển ộng chuy n tới bánh xe, bánh xe giúp ô tô di chuyển tr n ường - ể làm xe d ng chạy, có phương n n o? - ể làm ô tô bắt ầu chạy, có phương n n o? - Những phần n o ã sẵn có (bánh xe, bình, van, piston nh răng… Hiện thực hóa “ơ tơ” kiểm tra: Chúng ta xây dựng t ng phần Trong trình xây dựng, cần kiểm tra liên tục phần Ví dụ: xoay bánh xe với tốc ộ cao, r i thử nhấn phanh xem bánh xe có d ng quay khơng, thử van bình xăng x m c thể ng mở không… 122 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế Khi ghép phần vào với nhau, phải kiểm tra lại Ví dụ: lắp thân ô tô với bánh xe, phải ẩy cho xe chạy r i thử phanh xem ph nh ược không Kiểm tra tổng thể: Sau hồn thành xây dựng chi c tơ, cần thực kiểm tr như: i với tốc ộ thông thường i nh nh i ch m, thử i u khiển s i c ch… M rộng thiết kế: Ch ng t th m c c t nh kh c cho ô tô Vi t chương tr nh ph n t ch mô h nh h i quy Chúng ta áp dụng l p trình vào hoạt ộng phân tích liệu ví dụ: Yêu cầu: Kiểm nh giả thi t mơ hình n t nh ản lần gọi chương trình S u y l số gợi ể vi t chương tr nh: Phân tích vấn đề: - nh mơ hình n t nh ản: giả Nhắc lại giả không c cộng n, giả tương qu n giả nh phương s i s i số không nh dạng mô h nh i, giả ng giả nh nh sai số khơng có tự nh sai số phân phối chuẩn - Người dùng cần thông tin g ? H y n i c ch kh c chương tr nh phải báo v - Người dùng cần cung cấp thông tin g cho chương tr nh? - Chương tr nh ản cần có t nh g ? i u gì? Thiết kế thuật tốn: - Ch ng t t ch chương tr nh r th nh c c phần nhỏ - Các phần nhỏ: phần thực kiểm - Phần t ng hợp ầu ra, phần cấu trúc lại ầu vào - Các phần c thư viện? nh Viết phần chương trình, kết hợp với kiểm tra phần Kiểm tra chương trình Mở rộng chương tr nh Chúng ta mở rộng chương tr nh ằng cách đưa thông báo lỗi cần thiết Phương ph p xử lý lỗi dễ d ng chương tr nh v thông o lỗi (error): sử dụng 123 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế hàm stop(“thông báo lỗi riêng”) k t hợp với hàm if Ví dụ: if(a == NULL)stop(“khơng có a”); Chương tr nh mở rộng th o c c hướng kh c như: Th y phép nh p công thức nh p ối tượng k t ước lượng; Th y có t chức; Th y i nội ung chương tr nh: th m kiểm i ầu vào: cho i ầu r : tr nh y ầu r ể nh cho chương tr nh Phần 3: Tài liệu tham khảo Stata: Lee C Adkins, R Carter Hill (2011) Using Stata for Principles of Econometrics StataCorp Stata’s User Guide – Release 12 R: Christian Kleiber, Achim Zeileis (2008) Applied Econometrics with R Norman Matloff (2011) The Art of R Programming Phần 4: Một số thu t ngữ hữu ích S u y l số thu t ngữ mà bắt gặp nhi u lần ọc hướng dẫn Stata R Việc nắm ược nghĩ chúng giúp hiểu hướng dẫn nh nh argument categorical variable coefficient confidence interval confidence interval confidence level constant covariance cross-section data dependent variable describe dummy variable econometric theory econometrics estimate estimation estimator factor variable Observations Option ordinary least squares estimator Output panel data partial effect Plot Postestimation Predict Prediction Predictor P-value Random Regress Regression regression model Regressor residual robust standard error 124 Bộ môn Kinh tế- ĐHTL Bài giảng Tin học ứng dụng kinh tế fitted value forecast F-statistics function Graphic User Interface independent variable input likelihood linear marginal effect maximum likelihood estimator Nonlinear normal distribution significance level standard error standard normal distribution Summarize Syntax Test time series t-statistic Variable Variance Weight weighted least squares estimator white noise 125 Bộ môn Kinh tế- ĐHTL