# Makes a changepoint shift move.

### Description

This function makes a changepoint shift move, possibly moving one of the changepoints.

### Usage

1 | ```
cp.shift(Eall, Sall, Ball, Sig2all, X, Y, GLOBvar, HYPERvar, target)
``` |

### Arguments

`Eall` |
Changepoints: List of target nodes, where each element contains a vector of changepoints. |

`Sall` |
Network structure: List of target nodes, where each element is a NumSegs by NumNodes matrix giving the parents for the target node in each segment. A binary matrix. |

`Ball` |
Network parameters: Similar to network structure, but with regression parameters included. |

`Sig2all` |
Sigma squared parameters. |

`X` |
Response data. |

`Y` |
Target data. |

`GLOBvar` |
Global variables of the MCMC simulation. |

`HYPERvar` |
Hyperparameter variables. |

`target` |
Which target node the move is being proposed for. |

### Value

A list with elements:

`E` |
New changepoint vector for target node. |

`Sall` |
Updated network structure. |

`Ball` |
Updated network structure with regression parameters. |

`Sig2all` |
Updated sigma squared. |

`prior.params` |
Updated vector of structure prior hyperparameters. |

`accept` |
Whether the move was accepted or not. |

`move` |
What type of move was made. In this case |

`alpha` |
The acceptance ratio of the move. |

`estar` |
The location of the removed changepoint. |

`k` |
Hyperparameter. |

### Author(s)

Sophie Lebre

### References

For more information about the different changepoint moves, see:

Dondelinger et al. (2012), "Non-homogeneous dynamic Bayesian networks with Bayesian regularization for inferring gene regulatory networks with gradually time-varying structure", Machine Learning.

### See Also

`cp.birth`

, `cp.death`