Nếu bạn chỉ muốn khởi động kết quả của một lệnh Stata, tất cả những gì bạn cần là hiểu biết cơ bản về Stata. Tuy nhiên, nếu bạn cần tính toán thứ gì đó khác và sau đó khởi động nó, bạn sẽ cần viết một chương trình Stata chính thức để làm điều đó. Nếu bạn không quen với việc viết các chương trình Stata (không giống với các tệp do), bạn sẽ muốn xem Công cụ lập trình Stata, đặc biệt là Show Kết quả Bootstrapping từ các lệnh StataNếu có một lệnh Stata duy nhất tính toán kết quả bạn cần, bạn chỉ cần yêu cầu Stata khởi động lại kết quả của lệnh đó. Ví dụ: tải dữ liệu ô tô đi kèm với Stata và cân nhắc tìm giá trị trung bình của biến mpg . Lệnh summarize ( sum ) sẽ thực hiện chính xác những gì bạn muốn. hệ thống tự động Nhưng làm thế nào để lệnh bootstrap tìm thấy số mà nó cần trong tất cả kết quả đó? . Vectơ hồi quyNgoài kết quả bạn nhìn thấy trên màn hình hoặc trong nhật ký của mình, tất cả các lệnh Stata đều lặng lẽ đưa kết quả của chúng vào một vectơ trả về. Bạn có thể tham khảo vectơ này trong các lệnh tiếp theo hoặc trong trường hợp bootstrap bạn có thể cho nó biết phần nào của vectơ trả về mà bạn quan tâm. Để xem các bảng hiện tại của vectơ trả về, hãy nhập danh sách trả lại Lệnh sum là lệnh cơ bản (ngược lại với lệnh ước lượng) nên vectơ trả về của nó được gọi là r(). Nhìn qua danh sách, bạn sẽ thấy rằng r(mean) là số bạn muốn. Bây giờ bạn đã sẵn sàng để thực sự thực hiện bootstrap. Cú pháp lệnh bootstrapCú pháp cơ bản cho lệnh bootstrap rất đơn giản bootstrap var =r( kết quả ). lệnh Đây var chỉ đơn giản là những gì bạn muốn gọi số lượng bạn đang khởi động. Bạn có thể chọn bất kỳ tên nào bạn thích miễn là nó đáp ứng các quy tắc thông thường cho tên biến Stata. Trong trường hợp của chúng tôi, meanMPG sẽ phù hợp. r( kết quả ) yêu cầu lệnh bootstrap tìm kiếm trong r() vector for the particular result you're interested in. We're interested in r(mean) . Cuối cùng lệnh nên được thay thế bằng lệnh thực tế tính toán kết quả bạn muốn. Trong trường hợp của chúng tôi, đó là sum mpg . Kết hợp tất cả những điều này lại với nhau, lệnh để khởi động giá trị trung bình của biến mpg chỉ đơn giản là. bootstrap meanMPG=r(trung bình). tổng mpg Khi bạn chạy nó, bạn sẽ nhận được một ghi chú giải thích rằng bootstrap không thể loại trừ các giá trị bị thiếu và như vậy trừ khi bạn đang làm việc với một lệnh ước tính (sớm nói thêm về chúng) nhưng đó sẽ không phải là vấn đề trong trường hợp này. Kết quả bạn muốn sẽ theo sau Nếu bạn muốn bootstrap hai số lượng khác nhau thì sao? bootstrap meanMPG=r(mean) maxMPG=r(max). tổng mpg Các lệnh ước tính khởi độngCác lệnh ước tính hơi khác ở chỗ chúng lưu trữ kết quả của chúng trong vectơ e() thay vì r() vector and must be listed by typing ereturn list rather than return list. To see this, type the following: reg mpg trọng lượng nước ngoài Một cảnh báo. bootstrap là một lệnh ước tính, vì vậy sau khi chạy nó, vectơ e() sẽ chứa kết quả của bootstrap, không phải kết quả của lệnh bạn đang khởi động. Giả sử bạn muốn khởi động thống kê "Trọng lượng trung bình của những chiếc ô tô đó trong phần tư hàng đầu cho mpg. "Tính toán thống kê không khó để làm Stata có tính năng thuận tiện là có lệnh tiền tố bootstrap có thể được kết hợp liền mạch với các lệnh ước tính (e. g. , hồi quy logistic hoặc hồi quy OLS) và các lệnh không ước tính (e. g. , tóm tắt). Lệnh bootstrap tự động hóa quá trình bootstrap cho thống kê quan tâm và tính toán các biện pháp tóm tắt có liên quan (i. e. , độ lệch và khoảng tin cậy). Tuy nhiên, thuận tiện như lệnh này, có những trường hợp khi số liệu thống kê bạn muốn bootstrap không hoạt động trong lệnh. Đối với những trường hợp như vậy, bạn cần viết chương trình bootstrap của riêng mình Câu hỏi thường gặp về Stata này cho biết cách viết chương trình bootstrap của riêng bạn. Đối với ví dụ đầu tiên, chúng tôi khớp kết quả từ lệnh bootstrap với kết quả từ việc viết chương trình bootstrap. Lý tưởng nhất là điều này sẽ tiết lộ việc viết chương trình bootstrap của riêng bạn đơn giản như thế nào. Tiếp theo là một ví dụ trong đó số liệu thống kê bạn muốn bootstrap không hoạt động trong lệnh bootstrap và do đó yêu cầu bạn phải viết chương trình bootstrap của riêng mình ví dụ 1Ví dụ này chúng tôi sử dụng lệnh bootstrap và sao chép kết quả bằng cách viết chương trình bootstrap của riêng mình. Chúng tôi sử dụng bộ dữ liệu High School and Beyond mà từ đó chúng tôi sẽ hồi quy giới tính (nữ), điểm toán (toán), điểm viết (viết) và tình trạng kinh tế xã hội (ses) về điểm đọc (đọc) và khắc phục ý nghĩa gốc . Đối với bootstrap, chúng tôi thực hiện 100 lần lặp lại và chỉ định hạt giống để chúng tôi có thể sao chép kết quả use http://statistics.ats.ucla.edu/stat/stata/notes/hsb2, clear (highschool and beyond (200 cases)) regress read female math write ses Source | SS df MS Number of obs = 200 -------------+------------------------------ F( 4, 195) = 52.58 Model | 10854.9318 4 2713.73294 Prob > F = 0.0000 Residual | 10064.4882 195 51.6127602 R-squared = 0.5189 -------------+------------------------------ Adj R-squared = 0.5090 Total | 20919.42 199 105.122714 Root MSE = 7.1842 ------------------------------------------------------------------------------ read | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- female | -2.450171 1.101524 -2.22 0.027 -4.622602 -.2777409 math | .4565641 .0721114 6.33 0.000 .3143457 .5987825 write | .3793564 .0732728 5.18 0.000 .2348475 .5238653 ses | 1.301982 .7400719 1.76 0.080 -.1575905 2.761555 _cons | 6.833418 3.279371 2.08 0.038 .3658287 13.30101 ------------------------------------------------------------------------------ bootstrap rmse=e(rmse), reps(100) seed(12345): regress read female math write ses (running regress on estimation sample) Bootstrap replications (100) ----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5 ................................................. 50 ................................................. 100 Linear regression Number of obs = 200 Replications = 100 command: regress read female math write ses rmse: e(rmse) ------------------------------------------------------------------------------ | Observed Bootstrap Normal-based | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- rmse | 7.184202 .2594069 27.69 0.000 6.675774 7.69263 ------------------------------------------------------------------------------ estat bootstrap, all Linear regression Number of obs = 200 Replications = 100 command: regress read female math write ses rmse: e(rmse) ------------------------------------------------------------------------------ | Observed Bootstrap | Coef. Bias Std. Err. [95% Conf. Interval] -------------+---------------------------------------------------------------- rmse | 7.1842021 -.1006956 .25940687 6.675774 7.69263 (N) | 6.559784 7.636096 (P) | 6.778425 7.741319 (BC) ------------------------------------------------------------------------------ (N) normal confidence interval (P) percentile confidence interval (BC) bias-corrected confidence interval Viết chương trình bootstrap của riêng chúng tôi cần bốn bước
use https://stats.idre.ucla.edu/stat/stata/notes3/hsb2, clear (highschool and beyond (200 cases)) *Step 1 quietly regress read female math write ses matrix observe = e(rmse) *Step 2 capture program drop myboot program define myboot, rclass preserve bsample regress read female math write ses return scalar rmse = e(rmse) restore end *Step 3 simulate rmse=r(rmse), reps(100) seed(12345): myboot command: myboot rmse: r(rmse) Simulations (100) ----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5 ................................................. 50 ................................................. 100 *Step 4 bstat, stat(observe) n(200) Bootstrap results Number of obs = 200 Replications = 100 ------------------------------------------------------------------------------ | Observed Bootstrap Normal-based | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- rmse | 7.184202 .2594069 27.69 0.000 6.675774 7.69263 ------------------------------------------------------------------------------ estat bootstrap, all Bootstrap results Number of obs = 200 Replications = 100 ------------------------------------------------------------------------------ | Observed Bootstrap | Coef. Bias Std. Err. [95% Conf. Interval] -------------+---------------------------------------------------------------- rmse | 7.1842021 -.1006956 .25940687 6.675774 7.69263 (N) | 6.559784 7.636096 (P) | 6.778425 7.741319 (BC) ------------------------------------------------------------------------------ (N) normal confidence interval (P) percentile confidence interval (BC) bias-corrected confidence interval Kết quả từ Bước 4 khớp với kết quả từ lệnh bootstrap trong ví dụ trên ví dụ 2Trong ví dụ này, chúng tôi viết một chương trình bootstrap trong đó lệnh bootstrap thông thường không phù hợp với thống kê mà chúng tôi muốn bootstrap. Lý do tại sao lệnh bootstrap không phù hợp với mọi tình huống là vì lệnh bootstrap yêu cầu một thống kê nằm ngoài lệnh “phân tích”. Để xem số liệu thống kê nào được cung cấp, hãy sử dụng lệnh ereturn list hoặc return list sau lệnh “analysis”. Sự khác biệt giữa ereturn list hay return list phụ thuộc vào lệnh “analysis” có phải là lệnh ước lượng hay không Giả sử chúng ta muốn khởi động hệ số lạm phát phương sai (vif), yêu cầu chúng ta chạy hồi quy và sau đó estat vif. Trong tình huống như vậy, số liệu thống kê của bootstrap rơi ra từ lệnh ước tính bài đăng, lệnh này không thể lấy được từ hồi quy và do đó không được hỗ trợ bởi lệnh bootstrap. Do đó, chúng ta phải viết chương trình bootstrap của riêng mình để có được ước tính bootstrap của vif Bootstrapping nghĩa là gì trong Stata?bootstrap thực hiện ước tính bootstrap phi tham số của số liệu thống kê (hoặc biểu thức) đã chỉ định cho lệnh Stata hoặc chương trình do người dùng viết . Thống kê được khởi động bằng cách lấy mẫu lại dữ liệu trong bộ nhớ bằng cách thay thế.
Tại sao lại sử dụng bootstrap trong Stata?bootstrap cho phép người dùng cung cấp một biểu thức là hàm của kết quả được lưu trữ của các lệnh hiện có hoặc bạn có thể viết chương trình để .
Bootstrapping trong hồi quy là gì?Hồi quy. người mẫu. Bootstrapping là một cách tiếp cận phi tham số đối với suy luận thống kê thay thế cho tính toán . để biết các giả định phân phối truyền thống hơn và kết quả tiệm cận . 1 ưu đãi Bootstrapping.
Có bao nhiêu bản sao bootstrap là cần thiết cho Stata?Hướng dẫn sử dụng Stata gợi ý rằng 50-200 lần lặp lại có thể đủ để ước tính sai số chuẩn theo một số giả định nhất định, tuy nhiên, tùy thuộc vào tình huống cụ thể, 1000 hoặc nhiều hơn replicates may be necessary to obtain good bootstrap estimates. |