【计量经济学】时间序列预测

2024-02-19 04:40

本文主要是介绍【计量经济学】时间序列预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

时间序列回归模型–潘登同学的计量经济学笔记

文章目录

    • 时间序列回归模型--潘登同学的计量经济学笔记
  • 时间序列数据
  • 时间序列回归模型
    • 静态模型(static model)
    • 有限分布滞后项模型(finite distributed lag model)
      • 冲击倾向
      • 长期倾向
  • 经典假设下OLS性质
    • TS.1 线性于参数
    • TS.2 无完全共线性
    • TS.3 零条件均值
      • 导致TS.3无效的可能原因
    • OLS无偏性
    • 另外两个假定
      • TS.4 同方差性
      • TS.5 无序列相关性
    • OLS的样本方差
      • 方差的无偏估计
  • 经典线性模型假定下的推断
    • TS.6 正态性
    • TS.7 正态抽样分布
  • 趋势
  • 季节性

时间序列数据

核心理解: 时间序列数据是一个标有时间序列下标的随机变量序列,也就是随机过程

当我们搜集到一个时间序列数据时,我们便得到该随机过程的一个可能结果或实现, 我们只能看到一个实现,因为我们不能让时间倒转重新开始这个过程。如果特定的历史条件有所不同,我们通常会得到这个随机过程的另一种不同实现,这就是随机过程的含义。

时间序列回归模型

静态模型(static model)

y t = β 0 + β 1 x t + u t y_t = \beta_0 + \beta_1 x_t + u_t yt=β0+β1xt+ut
‘静态模型’源于在设定模型时, y y y z z z同期的事实。若认为 z z z在时间 t t t的一个变化对 y y y有直接影响, △ y t = β 1 △ x t \triangle y_t = \beta_1 \triangle x_t yt=β1xt,就可以假设一个静态模型…

有限分布滞后项模型(finite distributed lag model)

y t = α 0 + δ 0 z t + δ 1 z t − 1 + δ 2 z t − 2 + u t y_t = \alpha_0 + \delta_0 z_t + \delta_1 z_{t-1} + \delta_2 z_{t-2} + u_t yt=α0+δ0zt+δ1zt1+δ2zt2+ut

冲击倾向

这是一个二阶的FDL,为了理解系数的作用,举个栗子

… \ldots t − 2 t-2 t2 t − 1 t-1 t1 t t t t + 1 t+1 t+1 t + 2 t+2 t+2 … \ldots
zccc c + 1 c+1 c+1ccc

那么根据模型,可以写出下式(假设误差为0)
y t − 1 = α 0 + δ 0 c + δ 1 c + δ 2 c y t = α 0 + δ 0 ( c + 1 ) + δ 1 c + δ 2 c y t + 1 = α 0 + δ 0 c + δ 1 ( c + 1 ) + δ 2 c y t + 2 = α 0 + δ 0 c + δ 1 c + δ 2 ( c + 1 ) y t + 3 = α 0 + δ 0 c + δ 1 c + δ 2 c y_{t-1} = \alpha_0 + \delta_0 c + \delta_1 c + \delta_2 c \\ y_{t} = \alpha_0 + \delta_0 (c+1) + \delta_1 c + \delta_2 c \\ y_{t+1} = \alpha_0 + \delta_0 c + \delta_1 (c+1) + \delta_2 c \\ y_{t+2} = \alpha_0 + \delta_0 c + \delta_1 c + \delta_2 (c+1) \\ y_{t+3} = \alpha_0 + \delta_0 c + \delta_1 c + \delta_2 c \\ yt1=α0+δ0c+δ1c+δ2cyt=α0+δ0(c+1)+δ1c+δ2cyt+1=α0+δ0c+δ1(c+1)+δ2cyt+2=α0+δ0c+δ1c+δ2(c+1)yt+3=α0+δ0c+δ1c+δ2c

根据前两个方程,得到 y t − y t − 1 = δ 0 y_t-y_{t-1}=\delta_0 ytyt1=δ0,表明 δ 0 \delta_0 δ0 z z z t t t时期提高一个单位所引起 y y y的即期变化, δ 0 \delta_0 δ0通常被称作冲击倾向(impact propensity)或冲击乘数(impact multiplier).

类似地, δ 1 = y t + 1 − y t − 1 \delta_1 = y_{t+1} - y_{t-1} δ1=yt+1yt1这个是即期变化发生后,下一期 y y y的变化, δ 2 = y t + 2 − y t − 1 \delta_2 = y_{t+2} - y_{t-1} δ2=yt+2yt1这个是,而在 t + 3 t+3 t+3期, y y y回到了初始水平,这是因为我们只假定了 z z z中只有两期滞后。

如果将 δ j \delta_j δj作为 j j j的函数作图,变得到滞后分布(lag distribution)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P6VvUxWR-1649407145508)(滞后分布.png)]

上图意味着,最大的影响发生在第一期滞后;滞后分布的含义是: 如果我们把 y y y的初始值标准化为0,这个滞后分布就描绘出 z z z暂时提高一个单位所导致 y y y的随后所有取值

长期倾向

z z z永久提高所导致的 y y y的变化同样重要,根据模型我们可以写出下式
y t − 1 = α 0 + δ 0 c + δ 1 c + δ 2 c y t = α 0 + δ 0 ( c + 1 ) + δ 1 c + δ 2 c y t + 1 = α 0 + δ 0 ( c + 1 ) + δ 1 ( c + 1 ) + δ 2 c y t + 2 = α 0 + δ 0 ( c + 1 ) + δ 1 ( c + 1 ) + δ 2 ( c + 1 ) y_{t-1} = \alpha_0 + \delta_0 c + \delta_1 c + \delta_2 c \\ y_{t} = \alpha_0 + \delta_0 (c+1) + \delta_1 c + \delta_2 c \\ y_{t+1} = \alpha_0 + \delta_0 (c+1) + \delta_1 (c+1) + \delta_2 c \\ y_{t+2} = \alpha_0 + \delta_0 (c+1) + \delta_1 (c+1) + \delta_2 (c+1) \\ yt1=α0+δ0c+δ1c+δ2cyt=α0+δ0(c+1)+δ1c+δ2cyt+1=α0+δ0(c+1)+δ1(c+1)+δ2cyt+2=α0+δ0(c+1)+δ1(c+1)+δ2(c+1)

随着 z z z从第 t t t期开始永久提高,一期后 y y y提高了 δ 0 + δ 1 \delta_0 + \delta_1 δ0+δ1,两期后提高了 δ 0 + δ 1 + δ 2 \delta_0 + \delta_1 + \delta_2 δ0+δ1+δ2,两期以后, y y y没有进一步变化。 z z z的当期及滞后项系数之和 δ 0 + δ 1 + δ 2 \delta_0+\delta_1+\delta_2 δ0+δ1+δ2,等于z的永久性提提高,导致y的长期变化,这被称为长期倾向(long run propensity,LRP)或长期乘数(long-run multiplier)

经典假设下OLS性质

与横截面分析类似, 时间序列回归也要做相关假定, 但假定的内容与横截面回归有些许差异…

TS.1 线性于参数

随机过程 { ( x t 1 , x t 2 , … , x t k , y i ) : t = 0 , 1 , … , n } \{(x_{t1},x_{t2},\ldots,x_{tk},y_i):t=0,1,\ldots,n\} {(xt1,xt2,,xtk,yi):t=0,1,,n}服从线性模型
y i = β 0 + β 1 x i 1 + … + β k x i k + u i y_i = \beta_0 + \beta_1 x_{i1} + \ldots + \beta_k x_{ik} + u_i yi=β0+β1xi1++βkxik+ui
其中, { u t : t = 1 , 2 , … , n } \{u_t: t=1,2,\ldots,n\} {ut:t=1,2,,n}是误差或干扰序列。其中, n n n是观测次数

如果将解释变量 x x x视作矩阵 X t , j X_{t,j} Xt,j,第 t t t行表示时刻 t t t的横截面数据,第 j j j列则表示变量 j j j在时间上的变化

TS.2 无完全共线性

在样本中,没有任何自变量是恒定不变的,或者是其它自变量的一个完全的线性组合; 该假定允许解释变量之间相关,但是不允许样本中的完全相关。

TS.3 零条件均值

对每一个 t t t,给定所有时期的解释变量,误差项 u i u_i ui的期望值为0
E ( u i ∣ X ) = 0 , t = 1 , 2 , … , n E(u_i|X) = 0 , t=1,2,\ldots,n E(uiX)=0,t=1,2,,n

以横截面分析中的说法,从无关性角度来考虑这个假定最为容易。 这个假定意味着, t t t时期的误差项 u i u_i ui与每个时期的任何解释变量都无关。

回想横截面的零条件均值,其实是TS.3的特例
E ( u i ∣ x t 1 , … , x t k ) = E ( u i ∣ X t ) = 0 E(u_i|x_{t1},\ldots,x_{tk}) = E(u_i|X_t) = 0 E(uixt1,,xtk)=E(uiXt)=0
这就是在一个时期中, u i u_i ui与同时期的解释变量无关,此时我们称 x t j x_{tj} xtj同期外生

TS.3不仅仅要求同期外生性: 即使 s ≠ t s\neq t s=t, u i u_i ui也必须与 x s j x_{sj} xsj无关。此时,我们称解释变量是严格外生

另外一个重要的方面就是,假定TS.3并没有限制不同时期自变量或 u i u_i ui的相关性,他只是说, u i u_i ui的平均值与任何事情的解释变量都不相关。

导致TS.3无效的可能原因

导致TS.3无效的两个可能原因主要是: 遗漏变量和对某些回归元的测量误差。

考虑如下模型:
y t = β 0 + β 1 z t + u t y_t = \beta_0 + \beta_1 z_t + u_t yt=β0+β1zt+ut
假定TS.3不但要求 u t 和 z t u_t和z_t utzt不相关,而且要求 u t 与 z t u_t与z_t utzt的过去值和将来值都不相关。这有两重含义,

  • z 对 y z对y zy没有滞后影响,如果 z 对 y z对y zy的确有滞后影响,那就应该估计一个分布滞后模型
  • 严格外生性排除了误差项的即期变化,导致 z z z未来变化的可能性,这就有效排除了 y 对 z y对z yz未来值的反作用

对于上面模型,假如 z t z_t zt表示农民的劳动投入量, y t y_t yt表示农作物产量,假定 u t u_t ut与过去的劳动投入量都无关; 一旦农民根据上一年劳动投入量来决定今年的劳动投入量,那么 u t u_t ut z t + 1 z_{t+1} zt+1可能就不是无关的,因为大的 u t u_t ut导致大的 y t y_t yt进而导致小的 z t + 1 z_{t+1} zt+1,这种变量就可能不是严格外生的

政策变量,如货币供给的增长、福利开支、高速公路的限速等经常受结果变量过去的影响。在社会科学中,很多解释变量都明显违背严格外生性假定

OLS无偏性

在满足TS.1-3,以 X X X为条件,OLS估计量是无偏的,并存在
E ( β ^ j ) = β j E(\hat{\beta}_j) = {\beta}_j E(β^j)=βj

另外两个假定

TS.4 同方差性

X X X为条件,在所有时期 t , u t t,u_t t,ut的方差都相等:
V a r ( u t ∣ X ) = V a r ( u t ) = σ 1 , t = 1 , 2 , … , n Var(u_t|X) = Var(u_t) = \sigma^1, t=1,2,\ldots,n Var(utX)=Var(ut)=σ1,t=1,2,,n

TS.5 无序列相关性

以X为条件,任意两个不同时期的误差都不相关:
C o r r ( u t , u s ∣ X ) = 0 , ∀ s ≠ t Corr(u_t,u_s|X) = 0, \forall s\neq t Corr(ut,usX)=0,s=t

当上式不成立时,就认为误差有序列相关自相关的问题

OLS的样本方差

在时间序列高斯-马尔科夫假定TS.1到TS.5下,以 X X X为条件, β ^ j \hat{\beta}_j β^j的条件为方差
V a r ( β j ^ ∣ X ) = σ 2 S S T j ( 1 − R j 2 ) , j = 1 , 2 , … , k Var(\hat{\beta_j}|X) = \frac{\sigma^2}{SST_j(1-R_j^2)},j=1,2,\ldots,k Var(βj^X)=SSTj(1Rj2)σ2,j=1,2,,k

其中, S S T j 是 x t j SST_j是x_{tj} SSTjxtj的总平方和(固定 j j j), R j 2 R_j^2 Rj2是所有其他自变量回归得到的 R 2 R^2 R2

上式方差基本上与在截面数据推导的方差一致,而且导致方差变大的因素(如多重共线性)都与截面数据的结论一致

方差的无偏估计

在TS.1-TS.5下,估计量 σ 2 ^ = S S R d f \hat{\sigma^2} = \frac{SSR}{df} σ2^=dfSSR σ 2 \sigma^2 σ2的一个无偏估计量,其中 d f = n − k − 1 df=n-k-1 df=nk1

在TS.1-TS.5下,以 X X X为条件,OLS估计量是最优线性无偏估计

经典线性模型假定下的推断

为了能够使用通常的OLS标准误,t统计量和F统计量,我们通常需要增加最后一个假定,他类似于横截面分析中所用的正态性假定

TS.6 正态性

误差 u t u_t ut独立于 X X X,且具有独立同分布 N ( 0 , σ 2 ) N(0,\sigma^2) N(0,σ2)

TS.7 正态抽样分布

在前6个假定下,以 X X X为条件,OLS估计量遵循正态分布,而且在原假设下,每个t统计量服从t分布,F统计量服从F分布,通常构造的置信区间也是有效的

趋势

在很多情况下,两个时间序列过程表现出相关性,仅仅是因为,由于某些无法观测的因素的作用,二者具有共同的时间趋势而已。如果忽略两个序列按照相同或者相反趋势延伸的事实,会导致错误的结论:认为一个变量的变化由另一个变量的变化导致

一个能将统计模型描述有趋势行为的简单模型是
y t = α 0 + α 1 t + e t y_t = \alpha_0 + \alpha_1 t + e_t yt=α0+α1t+et
其中, { e t } \{e_t\} {et}是一个独立同分布(i.i.d.)的序列,且 E ( e t ) = 0 , V a r ( e t ) = σ t 2 E(e_t)=0,Var(e_t)=\sigma_t^2 E(et)=0Var(et)=σt2。上式形成了一个线性时间趋势,当 △ e t = 0 \triangle e_t = 0 et=0时,
△ y t = y t − y t − 1 = α 1 \triangle y_t = y_t - y_{t-1} = \alpha_1 yt=ytyt1=α1

{ e t } \{e_t\} {et}是一个独立同分布序列,则 { y t } \{y_t\} {yt}是一个独立(但非同分布)序列。对趋势时间序列更现实的描述是,允许 { e t } \{e_t\} {et}在不同时期相关,但这并没有改变线性时间趋势的本质。

指数趋势

许多经济时间序列都能用指数趋势来近似,当一个序列在每个时期都具有相同的增长率时,他就具有指数趋势。

时间序列的指数趋势可以通过建立有线性趋势的自然对数模型得到( y t > 0 y_t>0 yt>0)
log ⁡ ( y t ) = β 0 + β 1 t + e t \log(y_t) = \beta_0 + \beta_1 t + e_t log(yt)=β0+β1t+et
将两边取指数后, y t y_t yt便表现出指数趋势: y t = exp ⁡ ( β 0 + β 1 t + e t ) y_t = \exp(\beta_0 + \beta_1 t +e_t) yt=exp(β0+β1t+et)

解释 β 1 \beta_1 β1,对于很小的变化 △ log ⁡ ( y t ) = log ⁡ ( y t ) − log ⁡ ( y t − 1 ) \triangle \log(y_t) = \log(y_t) - \log(y_{t-1}) log(yt)=log(yt)log(yt1)近似等于 y t y_t yt的变化
△ log ⁡ ( y t ) = y t − y t − 1 y t − 1 \triangle \log(y_t) = \frac{y_t - y_{t-1}}{y_{t-1}} log(yt)=yt1ytyt1
上式的右边,被称作 y y y t − 1 t-1 t1时期到 t t t时期的增长率。 设 △ e t = 0 \triangle e_t = 0 et=0便得到,对所有的 t t t
△ log ⁡ ( y t ) = β 1 \triangle \log(y_t) = \beta_1 log(yt)=β1
也就是说, β 1 \beta_1 β1近似等于 y t y_t yt每期增长率的平均值。

除了线性和指数趋势,还会有更复杂的时间趋势(如:二次时间趋势)

伪回归问题

考虑到某些无法观测的趋势因素影响 y t y_t yt又有可能与解释变量相关, 如果我们的方程中没有加入时间趋势,我们便可能得到 y t y_t yt与一个或多个解释变量之间的伪回归问题,仅仅因为每个变量都随着时间的推移而增长。 而解决的方法很简单,只需要将趋势变量放进方程中即可。

在这里插入图片描述

除趋势解释

考虑如下回归方程
y t ^ = β 0 ^ + β 1 ^ x t 1 + β 2 ^ x t 2 + β 3 ^ t \hat{y_t} = \hat{\beta_0} + \hat{\beta_1}x_{t1} + \hat{\beta_2}x_{t2} + \hat{\beta_3}t yt^=β0^+β1^xt1+β2^xt2+β3^t

具体做法如下:

  1. y t , x t 1 , x t 2 y_t,x_{t1},x_{t2} yt,xt1,xt2分别对常数项和时间趋势 t t t回归,并记录残差 y t ¨ , x ¨ t 1 , x ¨ t 2 \ddot{y_t},\ddot{x}_{t1},\ddot{x}_{t2} yt¨,x¨t1,x¨t2,如:
    y t = α 0 ^ + α 1 ^ t + y t ¨ y_t = \hat{\alpha_0} + \hat{\alpha_1}t + \ddot{y_t} yt=α0^+α1^t+yt¨
  2. y t ¨ 对 x ¨ t 1 , x ¨ t 2 \ddot{y_t}对\ddot{x}_{t1},\ddot{x}_{t2} yt¨x¨t1,x¨t2的回归,这个回归得到的碰巧就是原回归方程的 β 1 ^ , β 2 ^ \hat{\beta_1},\hat{\beta_2} β1^,β2^,这说明了原方程的估计值就是除去了时间趋势的解释,即 x t 1 x_{t1} xt1变化一单位, y t y_t yt变化 β 1 ^ \hat{\beta_1} β1^单位

如果某个自变量含有趋势,那么,即使 y t y_t yt不含趋势,在回归中包含趋势项是一个好主意。假若 y t y_t yt没有明显的趋势,但 x t 1 x_{t1} xt1可能随时间的推移而上升,那么去掉回归中的趋势变量,即使 x t 1 x_{t1} xt1沿着其趋势的变动对 y t y_t yt有影响,看起来也好像 x t 1 对 y t x_{t1}对y_{t} xt1yt没有影响。若在回归中包含 t t t,便能刻画这种影响。

含趋势的 R 2 R^2 R2

时间序列回归中的 R 2 R^2 R2通常很大,特别是与横截面数据的 R 2 R^2 R2相比。这是因为时间序列总是以总量形式出现,而总量数据通常比个人、企业或家庭的数据更容易解释。 但是当因变量含有趋势时,时间序列回归中的普通或调整 R 2 R^2 R2基本关于人为地变大。 根据调整 R 2 R^2 R2
R 2 ˉ = 1 − σ u 2 ^ σ y 2 ^ \bar{R^2} = 1 - \frac{\hat{\sigma^2_u}}{{\hat{\sigma^2_y}}} R2ˉ=1σy2^σu2^
其中, σ u 2 ^ \hat{\sigma^2_u} σu2^是误差方差的无偏估计, σ y ^ 2 = ∑ = 1 n ( y t − y ˉ ) 2 n − 1 \hat{\sigma_y}^2 = \frac{\sum_{=1}^{n}(y_t - \bar{y})^2}{n-1} σy^2=n1=1n(ytyˉ)2 y t y_t yt含有趋势时,只要回归中包含了时间趋势, S S T / ( n − 1 ) SST/(n-1) SST/(n1)就不再是 V a r ( y t ) Var(y_t) Var(yt)无偏或一致估计。 S S T / ( n − 1 ) SST/(n-1) SST/(n1)往往高估了 V a r ( y t ) Var(y_t) Var(yt),因为他没有解释 y t y_t yt的趋势

一般的做法是,当因变量含有趋势时,先过滤掉时间趋势对 y t y_t yt的影响,将 y t y_t yt t t t回归,得到残差 y t ¨ \ddot{y_t} yt¨,然后将 y t ¨ 对 x t 1 , x t 2 , t \ddot{y_t}对x_{t1},x_{t2},t yt¨xt1,xt2,t进行回归,该回归的 R 2 R^2 R2
1 − S S R ∑ t = 1 n y t ¨ 2 1 - \frac{SSR}{\sum_{t=1}^n\ddot{y_t}^2} 1t=1nyt¨2SSR
显然 ∑ t = 1 n y t ¨ 2 ≤ ∑ t = 1 n ( y t − y t ˉ ) 2 \sum_{t=1}^n\ddot{y_t}^2 \leq \sum_{t=1}^n(y_t - \bar{y_t})^2 t=1nyt¨2t=1n(ytytˉ)2,从而得出 R 2 R^2 R2比原本计算的要小。而这个 R 2 R^2 R2能够很好地反映出 x t 1 与 x t 2 x_{t1}与x_{t2} xt1xt2能在多大程度上解释 y t y_t yt,因为他过滤掉了时间趋势的影响。

而调整 R 2 R^2 R2
( 1 − S S R ∑ t = 1 n y t ¨ 2 ) ⋅ n − p n − k (1 - \frac{SSR}{\sum_{t=1}^n\ddot{y_t}^2}) \cdot \frac{n-p}{n-k} (1t=1nyt¨2SSR)nknp
其中, n − k n-k nk是主回归方程的自由度(这里是 n − 4 n-4 n4), n − p n-p np y t y_t yt对时间趋势回归的自由度(这里是 n − 2 n-2 n2)

注意: 虽然除趋势的 R 2 R^2 R2能更加好的刻画解释变量对被解释变量的影响,但是在计算 F F F统计量的 R 2 R^2 R2形式的时候,还是用未经除趋势的 R 2 R^2 R2

季节性

如果一个时间序列是每月或每季度观测而得到的,它就有可能表现出季节性。 同时很多月份或季度数据序列都表现出季节性变化,但也并非一律如此(如: 每月利息率或通货膨胀率就没有明显的季节性变化)。 而且,有季节性变化的序列通常在公布执之前就进行了季节调整,已经除掉了其中的季节性因素。 经过季节性调整的序列,拿过来直接用就行。

如果真的需要我们自己处理季节性问题的话,在回归方程中包含总季节-1个虚拟变量就足够了,如(月份=11,季节=3)

除季节性的 β \beta β解释、 R 2 R^2 R2都与上面除趋势的操作一致…
列是每月或每季度观测而得到的,它就有可能表现出季节性。 同时很多月份或季度数据序列都表现出季节性变化,但也并非一律如此(如: 每月利息率或通货膨胀率就没有明显的季节性变化)。 而且,有季节性变化的序列通常在公布执之前就进行了季节调整,已经除掉了其中的季节性因素。 经过季节性调整的序列,拿过来直接用就行。

如果真的需要我们自己处理季节性问题的话,在回归方程中包含总季节-1个虚拟变量就足够了,如(月份=11,季节=3)

除季节性的 β \beta β解释、 R 2 R^2 R2都与上面除趋势的操作一致…

这篇关于【计量经济学】时间序列预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723521

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

uva 10131 最长子序列

题意: 给大象的体重和智商,求体重按从大到小,智商从高到低的最长子序列,并输出路径。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vect

POJ1631最长单调递增子序列

最长单调递增子序列 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;publ

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划

O(n)时间内对[0..n^-1]之间的n个数排序

题目 如何在O(n)时间内,对0到n^2-1之间的n个整数进行排序 思路 把整数转换为n进制再排序,每个数有两位,每位的取值范围是[0..n-1],再进行基数排序 代码 #include <iostream>#include <cmath>using namespace std;int n, radix, length_A, digit = 2;void Print(int *A,

day-50 求出最长好子序列 I

思路 二维dp,dp[i][h]表示nums[i] 结尾,且有不超过 h 个下标满足条件的最长好子序列的长度(0<=h<=k),二维数组dp初始值全为1 解题过程 状态转换方程: 1.nums[i]==nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h]+1) 2.nums[i]!=nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h-1