过程与切换回归分析

切换回归模型用于分类不可观察状态,或者在时间序列中估计这些不可观察状态的转换概率。它可以被认为是时间序列的聚类算法,它为每个群集提供了估计的方程,并且时间序列在给定时间点进入该群集的概率。交换回归可应用于您有时间序列的任何业务领域,并且经济学家已成功应用于分析商业周期,通过共同基金管理人员评估共同基金和投资银行家来评估股票回报。

我将根据一个示例来解释你,切换回归可以做什么。时间序列是一系列数据,其中您在更长的时间内跟随个体,并按时以几个点录制特定变量。例如,一个简单的时间序列是股票市场上的黄金价格。在这里,您可以从1995年看到黄金价格的发展到今天。

黄金价格时间序列
黄金价格时间序列

当你看看这个数字时,你会意识到拟合一个简单的线性回归可能不是一个好主意,因为时间序列不会以直线成长。理想情况下,您将假设第一个部分直到大约1970年将适合一个相当平坦的回归线,从1970年到1983年到1983年,从2000年到2015年到2015年到陡峭的回归线,从1983年到2000年到2000年到2000年的一部分到2000年到2000年到2000年到2000年到2000年到2000年到2000年左右到2000年到2000年的一部分略微下降回归线。切换回归模型将帮助您识别,有多少不同的不可观察的阶段,他们的估计方程是什么,某些变量的影响因国家的影响程度如何,以及时间序列所在的概率是什么?在任何时间点的不同阶段。以下是示例,交换回归模型将识别黄金价格时间序列的哪些状态:

Example of different regimes detected by a Switching Regression
Example of different regimes detected by a Switching Regression

业务领域和影响:在您的时间序列中找到不可观察

切换回归分析可以实际应用任何字段,您希望在时间序列中分析不同的未接受的状态。它已经成功地应用于财经和经济学领域,以了解商业周期,资产配置,股票回报,利率,投资组合管理和汇率。但是,在各个领域也可能应用。这里有一些例子:

  • 人力资源:员工营业额的司机是什么?如果您在更长的时间内完成了营业额率,您可以轻松地组装具有丰富信息的大型数据集。现在,您可以分析您公司的开发中是否存在不同的阶段以及您选择的变量的效果如何根据阶段进行更改。您可能例如发现有三个阶段,例如,扩张当您的公司在增长时,当您的公司稳定时停滞,并且当您的公司萎缩时下降。切换回归将告诉您,根据国家保持员工是什么因素。
  • 后Sales repair:What does influence the incoming volume of after sales order? Even here you might different underlying phases and depending on a certain phase, other factors are more important. That might help you predict the incoming repair volume.
  • 运营:What are the main influencers of lead time? What if there is a recurring pattern in lead times, a cycle, and depending where you are in the cycle, a variable might have a positive or negative impact on lead time. However, since you ignored possible underlying phases, the negative and positive effects of this very same variable averaged out, so you wrongfully assume that this variable is irrelevant.
  • 营销:一些营销工具是否在某些阶段更有效?如果您考虑过,营销工具的影响可能因产品状态而异。但问题是,您能够发现哪些国家,这些状态如何改变变量的效果大小?

通常,您应该考虑使用交换回归模型进行以下五种目的:

  1. Clustering:如果您有群集算法的经验,则可能已经意识到切换回归也可以用作聚类算法。如果切换回归为基础状态分配某些观察,则它也可以解释为将它们分配给某个群集。
  2. 状态检测:您想了解您是否在未观察到的数据中有不同的状态。这句话的另一种方法是:有没有任何分类变量,我们可能错过了与观察到的变量相互作用?
  3. 估计不同状态的不同方程:您不想发现,是否存在不同的底层状态,您无法直接观察,但您也想了解您的变量的影响程度如何因国家而异。
  4. 了解状态的概率:您希望了解在某种状态下观察的概率是什么以及如何影响概率?
  5. 不同状态之间的切换概率:You want to understand what the probability is for switching from a certain state to another, what are the drivers of state switching and whether certain groups of observations are more or less likely to switch between certain states.

程序

进行交换回归分析的步骤
进行交换回归分析的步骤

当底层进程是Markov进程时,您可以使用切换回归模型。这意味着您的时间序列被认为在一个有限组的不可观察状态上过渡,其中从一个状态到另一个状态的时间和状态的持续时间是随机的。使用切换回归并不难,您可以在四个简单的步骤中进行。我将向您展示如何根据引言的黄金数据计算和解释自己的交换回归模型。

第1步:设置数据

首先,我需要上传数据并确保所有变量都具有正确的数据类型。在这种情况下,当您上传数据集时,您将看到变量日期仍然是一个字符。因此,我会使用函数转换为date-type .date()。

#############库#install.packages(“mswm”)#siplt.packages(“ggplot2”)库(mswm)库(ggplot2)#############第1步:设置数据金< -  read.csv(“c:/用户/ apivciac /桌面/ privat / switching回归/ lontle_csv.csv”)黄金$ date < -  as.date(粘贴(黄金$ date,“01”,sep =“ - ”),格式=“%y-%m-%d”)ggplot(金,aes(日期,价格))+ geom_line()

第2步:决定各国

In the second step, you will need to decide on the number of states that you expect. In the context of switching regressions and Markov processes, you usually say regimes instead of states. However, I will continue using the word states. Your decision on the number of states should be theory-driven. That means that you have a clear theory how many states should be possible and how many states you want to estimate. If you analyze a stock, you might expect only two states: the stock goes up or goes down. Therefore, you would assume only two hidden states. Now let’s have look at our example:

黄金价格时间序列
黄金价格时间序列

在我们的例子中,我期待三个不同的隐藏状态。第一个是一个停滞状态,第二个是我们可以在2000年之后观察的急剧增加的状态,以及我们最能在2000年之前观察的挥发性停滞状态。因此,我认为应该有三个不同的状态。请记住,由于两个原因,您不想指定太多状态。首先,您拥有更复杂的解释越复杂。其次,切换回归模型的估计是计算复杂的,这意味着您所拥有的数据越多,您所拥有的越多,需要越长,才能计算它。

#############步骤2:决定状态nstates < -  6

切换回归现在将估计我们指定的每个状态的不同线性方程。此外,它将根据以下概述计算每个状态的过渡概率,其中pabstands for the transition probability from state a to state b:

不同的状态和转换概率
不同的状态和转换概率

由于我有经济背景,这里是我的小问题。为什么黄金的价格如此稳定,直到1970年(有一个漂亮的逻辑解释;))?

Step 3: Estimate the Switching Model

我们将使用msmfit() - 函数表单mswm-package来估计切换回归。MSMFIT() - 函数需要输入LM() - 功能生成的回归模型。

#########:估计切换模型OLSGOLD < -  LM(价格〜DATE,GOLD)MSMGOLD < -  MSMFIT(OLSGOLD,K = NSTATES,SW = C(false,true,true)))

At this point, I should mention that there are various types of markov-switching regression models, where each type has its advantages and disadvantages. You can basically apply all statistical tools you know from time series. Here two examles:

  • 单变量或多变量马尔可夫链:首先,您可以拥有一个单变量的马尔可夫链或多元马尔可夫链。单变量马尔可夫链是基于均质的马尔可夫链。这意味着它没有任何趋势或季节性。在时间序列的背景下,趋势意味着时间序列通常是向上(如在我们的示例中)或向下。季节性意味着具有重复模式。例如,冰消费将向您展示夏季峰值和冬季低的季节性。
  • Fixed or time-varying transition probabilities:在切换回归模型中,也可以让过渡概率随时间而变化。它将使模型更加复杂,但如果有严肃的理论原因让概率随着时间的变化而变化,那将是有用的。
  • 一阶或高阶链:一阶切换回归仅基于最新状态计算转换概率,但不是在以前的所有状态。
  • 线性或广义切换回归:You can also create switching regressions based on for instance generalized linear models, and not only on linear models. For example, if your variable of interest is a binary variable, you can use a logistic regression analysis.

如果您了解了这三个例子,您将意识到我在此处应用最简单的切换回归模型:具有固定过渡概率的单变量一阶切换回归。此外,有两种交换回归模型的家庭:

  1. 马尔可夫切换动态回归:The dynamic models allow states to switch according to a Markov process, but in contrast to the other type, they allow for quick adjustments after a change of state. These types of models are often applied to high frequency data.
  2. Markov-Switching AR模型:AR-models allow states to switch according to a Markov process as well, however, they only allow for a gradual adjustment after change. This models are often applied lower frequency data (quarterly, yearly, etc.).

第4步:评估和接口交换模型

We can interprete a switching regression models in two ways, first by looking at the coefficients and secondly graphically.

看着系数

#############步骤4:解释和评估切换模型摘要(msmgold)

The code will give use the following results:

Markov交换模型呼叫:MSMFIT(Object = Olsgold,K = NSTATES,SW = C(FALSE,TRUE,FALSE))AIC BIC LOGLIK 10010.85 10056.59 -5001.427系数:制度1 ---------估算STD。误差T值Pr(> | t |)(拦截)121.4889 0.0008 151861.125 <2.2E-16 ***日期0.0209 0.0013 16.077 <2.2E-16 *** --- Signif。codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 98.68257 Multiple R-squared: 0.8681 Standardized Residuals: Min Q1 Med Q3 Max -9.909234e+01 -1.857703e+01 7.932031e-04 1.963472e+01 1.555179e+02 Regime 2 --------- Estimate Std. Error t value Pr(>|t|) (Intercept) 121.4889 0.0008 151861.125 < 2.2e-16 *** Date(S) 0.0772 0.0013 59.385 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 98.68257 Multiple R-squared: 0.8948 Standardized Residuals: Min Q1 Med Q3 Max -2.803412e+02 -2.134766e+00 -2.736030e-04 3.681998e-04 4.849814e+02 Regime 3 --------- Estimate Std. Error t value Pr(>|t|) (Intercept) 121.4889 0.0008 151861.125 < 2.2e-16 *** Date(S) 0.0502 0.0013 38.615 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 98.68257 Multiple R-squared: 0.92 Standardized Residuals: Min Q1 Med Q3 Max -208.87791580 -4.74304709 -0.07559093 1.23991461 197.72230992 Transition probabilities: Regime 1 Regime 2 Regime 3 Regime 1 9.955638e-01 1.712038e-08 0.01485319 Regime 2 5.173007e-09 9.717252e-01 0.02020467 Regime 3 4.436244e-03 2.827476e-02 0.96494213

您将意识到,它将给我们每个州的不同方程式。

在那里,你现在看到了,没有一个政权都有负面估计。显然,黄金价格一直在增加它将通过的所有三个州增加。效果大小是状态2中最高的,因此该州可能代表极端增长。州3具有更温和的效果大小,因此名称州3个适度增长是有意义的。最后,状态1具有最低的效果大小,所以我建议将其命名为增长缓慢。在进一步的分析中,包含进一步的独立变量可能很有趣,以便例如,它们是每阶段增长背后的驾驶员。

我们可以查看的另一件事是过渡概率,总结在输出的底部。

你将看到的是,这些国家非常稳定,这意味着潜在的国家很少在一个月内变化。此外,您将看到用于切换到第一个“中等增长”状态的转换概率通常高于任何其他的。当然,您可以在您的分析中更深入,但我会向您留给您。

看着图表

我将使用以下代码生成相关图。我将为每个州有一个图表。您将看到每个图表由两个数字组成。上部显示金时间序列和灰色突出显示的区域。灰色突出显示的区域是切换回归模型估计时序在各个状态的位置。下图显示时间序列在各个状态下的概率。

#概率和预测的图形概述plotprob(msmgold,when = 2)plotprob(msmgold,that = 3)plotprob(msmgold,哪个= 4)
预测政权的概率和状态1
预测政权的概率和状态1

当我们看上上方时,我们可以看到这种状态最有可能描述增长缓慢的之一。误解的可能性似乎也很清楚,误解的几乎没有机会。

预测制度2的概率和状态
预测制度2的概率和状态

The second regime apparently is the high-growth one or the one with the highest volatility, as the gold price increases rapidly, peaks, and then it falls down to a little higher price than it was before it started to soar. Only the increase around 200 has a lower probability as it looks as this part does not necessarily fit that well into this state.

预测制度3的概率和状态
预测制度3的概率和状态

最后,第三国似乎是中等增长之一。此外,概率在200左右的一个集群上并不清楚。无论如何,它看起来相对合理。我不会深入挖掘这里的解释。我会留下你。

好处

与其他回归模型相比,切换回归模型具有一些优点。这是一个简短的概述。

  • 数学简单:切换回归通常是在数学上的易行的。这对于可能性尤其如此,这是相对简单的。
  • 隐藏变量:切换回归很好在发现可能对您的时间序列产生影响的隐藏变量,但您尚未观察到它。一个经典的例子,它做得很好来自临床心理学。想象一下,你遵循一个伴有两极性障碍的人,你将在较长时间内作为依赖变量基本上记录情绪。然而,问题是,当该人处于疯狂状态时,您无法观察到,当人处于抑郁状态时,因此您不会将其作为变量录制。如果您只需与预测器的时间计算线性回归,您可能会在零附近获得一个微不足道的系数,因为平均的心情会显示您既不增加也不降低趋势。如果您使用交换回归,它将理想地检测两个状态,并向您展示情绪随着时间的推移方式如何发展,同时还向您提供矩阵的转换概率。
  • 灵活性:一个直接的优点是它非常灵活,因为我们可以使用几种不同版本的相同回归。
  • 丰富的统计数据:另一个优点是它为我们提供了一个富有的统计数据来解释包括:过渡概率,每个状态的单独方程,以及在给定时间点处的每个状态的概率。此外,您可以使用数字或图形来解释它。

缺点

  • 要求:各州之间的转换必须遵循马尔可夫过程,否则切换回归不会产生无偏估计。问题是,并非所有转换都必须满足马尔可夫进程的要求。
  • Number of states:状态的数量不是由模型计算的,但在运行模型的估计之前必须指定。总是很难说,如果真正越来越少于你指定的状态,那么正确的国家是正确的国家是什么,有时会使解释困难。
  • 计算上复杂:切换回归的一个明显缺点是它是相对计算的复杂性。这意味着随着数据的增加和数量,特别是越来越多的状态,您的设备的计算能力将快速达到极限。

Further Links

If you are still interested into the topic, I can recommend you the following readings to dive deeper into the topic:

  • https://rpubs.com/ibn_abdullah/markovs

参考

MSWM EXMAPLES - 何塞A.桑切斯 - ESPIALES,Alberto Lopez-Moreno,统计和运营研究部

Hamilton, J. D. 1989. A new approach to the economic analysis of nonstationary time series and the business cycle. Econometrica 57: 357–384.

1993. Estimation, inference and forecasting of time series subject to changes in regime. In Handbook of Statistics 11: Econometrics, ed. G. S. Maddala, C. R. Rao, and H. D. Vinod, 231–260. San Diego, CA: Elseiver.

Kim,C.-J.1994.带马尔可夫切换的动态线性模型。“经济学”杂志60:1-22。

1994.时间序列分析。普林斯顿,新泽:普林斯顿大学出版社。(第22章)

5 Comments

  • 嗨Andrej,谢谢你的帖子。
    I was wondering why it only takes input from a regression model produced by the lm()-function. I have seen it in all examples but none give a reason. And also what kind of model in the lm(). That is to is there a specific linear model?

    If possible would you be willing to share the example data set>

    • Hi Forby,

      它通常采用线性模型作为输入,并且线性模型只能由LM()函数产生。原因只是MSMFIT() - 函数已被编程为仅作为输入执行线性模型。如果您提供除线性模型之外的某些内容,则最有可能导致错误。通常,不应限制任何类型的线性模型,无论您是使用简单的线性回归还是多个线性回归。有时,MSMFIT()函数还可以从GLM()函数中占用泛型线性模型,但是这些函数通常可以导致错误,因为值不可收敛(简而言之,MSMFIT()无法计算估计值)。因此,我建议保持简单,只使用LM() - 模型作为输入,如果可能,使用参数的低号。

      通常,您可以简单地通过Googling进行金价格时间序列数据。一个示例来源在这里:https://datahub.io/core/gold-prices.. If you would like me to send you the exact same dataset I used, then just send me an email via:http://万博网页在线登录www.chinaqphy.com/contact-and-imprint/我很乐意为您提供数据集。

      希望我能解决你的问题!

      亲切的问候,
      狗万商业

  • Good day, am looking to estimate farmers willingness to use renewable energy In agricultural production. Can switch regression be used to analyze willingness to use renewable energy? Please I need response.

    • Hallo Anthonia,

      在您的情况下,它取决于您收集的数据上的很多。If you manage to collect time-series data about the renewable energy use of farmers over a longer time period, you might be able to estimate how likely they are to switch from one state to another, e.g from the state of low adoption of renewable to the state of high acceptance of renewable energy.

发表评论

您的电子邮件地址不会被公开。Required fields are marked*