使用Meta Prophet拟合数据时遇cmdstanpy信号3221225657错误
Prophet拟合DataFrame时出现cmdstanpy信号错误的问题排查
环境信息
- Python版本:3.1
- Prophet版本:1.1.6
- holidays版本:0.58
- cmdstanpy版本:1.2.4
错误日志
14:54:18 - cmdstanpy - INFO - Chain [1] start processing 14:54:18 - cmdstanpy - INFO - Chain [1] done processing 14:54:18 - cmdstanpy - ERROR - Chain [1] error: terminated by signal 3221225657 Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.1.4\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode coro = func() File "<input>", line 6, in <module> File "C:\Users\MuriloXavierDeSousa\PycharmProjects\cash-flow\.venv\lib\site-packages\prophet\forecaster.py", line 1232, in fit self.params = self.stan_backend.fit(stan_init, dat, **kwargs) File "C:\Users\MuriloXavierDeSousa\PycharmProjects\cash-flow\.venv\lib\site-packages\prophet\models.py", line 125, in fit raise e File "C:\Users\MuriloXavierDeSousa\PycharmProjects\cash-flow\.venv\lib\site-packages\prophet\models.py", line 121, in fit self.stan_fit = self.model.optimize(**args) File "C:\Users\MuriloXavierDeSousa\PycharmProjects\cash-flow\.venv\lib\site-packages\cmdstanpy\model.py", line 659, in optimize raise RuntimeError(msg) RuntimeError: Error during optimization! Command 'C:\Users\MuriloXavierDeSousa\PycharmProjects\cash-flow\.venv\Lib\site-packages\prophet\stan_model\prophet_model.bin random seed=76105 data file=C:\Users\MURILO~1\AppData\Local\Temp\tmpyeys75p7\uuozwjja.json init=C:\Users\MURILO~1\AppData\Local\Temp\tmpyeys75p7\glhxw1po.json output file=C:\Users\MURILO~1\AppData\Local\Temp\tmpyeys75p7\prophet_modelf0ftxvye\prophet_model-20241015145418.csv method=optimize algorithm=newton iter=10000' failed:
已尝试的解决方案
- 安装C++编译器
- 调整系统路径
- 更换库版本
- 执行cmdstan重装代码:
import cmdstanpy cmdstanpy.install_cmdstan(compiler=True, overwrite=True)
进一步排查与解决建议
检查输入数据格式
确认DataFrame包含ds(标准日期时间格式,如YYYY-MM-DD)和y(数值型目标变量)两列,无缺失值、无穷大或非数值型异常值。切换优化算法
错误中使用的Newton算法可能在特定数据下不稳定,尝试改用LBFGS算法:model = Prophet(optimizer='LBFGS') model.fit(df)降级cmdstanpy版本
cmdstanpy 1.2.4与Python 3.1可能存在兼容性问题,尝试降级到1.1.0版本:pip install cmdstanpy==1.1.0验证临时目录权限
确保程序对日志中显示的临时目录(C:\Users\MURILO~1\AppData\Local\Temp\)有读写权限,避免因权限不足导致Stan模型无法生成临时文件。重装Prophet修复模型文件
删除损坏的Stan模型二进制文件,重新安装Prophet:pip uninstall -y prophet pip install prophet==1.1.6
内容的提问来源于stack exchange,提问作者murilo xavier de souza
相关产品推荐
相关产品推荐

