全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
519 0
2024-02-17

求助大佬为什么这段代码运行出现“last estimates not found”这个问题呀


// 参数设定

local mu 1

local reps 10000

// 创建一个新的数据集用于存储模拟结果

clear

set obs `reps'

gen id = _n

gen size = .

gen power = .

// 模拟循环

foreach T in 100 200 500 1000 2000 5000 {

   foreach phi in 0.25 0.5 2 4 {

       local sigma1 = sqrt(`phi')

       local sigma2 = 1

       foreach rho in 1 0.9 {

           forvalues i = 1/`reps' {

                clear

                set obs `T'

                gen e = cond(_n <= `T'/2,rnormal(0, `sigma1'), rnormal(0, `sigma2'))

                gen Y = `mu'

                forvalues t = 2/`T' {

                    replace Y = `mu' + `rho' *Y[_n-1] + e in `t'

                }

                // 结构突变检测

                // 这里您需要使用 Stata 的命令来检测结构突变,可能的命令包括estat sbsingle,estat sbmultiple等

                // 以estat sbsingle 为例,它通常用于检测单一的结构突变

                estat sbsingle, vars(Y)distribution(normal) saving(breakpoints, replace)

               

                // 加载突变点检测结果

                use breakpoints, clear

                summarize breakdate, meanonly

                // 根据rho 的值记录模拟结果到之前创建的数据集

                use sim_results, clear

                if `rho' == 1 {

                    replace size = r(mean) in`i'

                }

                else {

                    replace power = r(mean) in`i'

                }

                save sim_results, replace

           }

       }

    }

}

// 最后,您可以输出模拟结果进行分析

use sim_results, clear

summarize size power, detail


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群