Using Generalized Additive Model to smooth the data
显示 更早的评论
Hi, I have some data, which is light measured vs date, 24 measurements every day.
I would like to use Generalized Additive Model (GAM) to smooth the measurments to better integrates trend in my dataset.
Here is my dataset. Does anyone can help me how to use GAM to smooth my dataset?

5 个评论
Konrad
2022-9-16
DId you already take a look at RegressionGAM and/or fitrgam? Can you be more specific about where you're stuck?
Sahar khalili
2022-9-16
Konrad
2022-9-19
Well, if you don't have exact measurement time stamps, I would guess you have 1 data point / hour each day, for 360 days?! So just create your predictor variable 'time' yourself, e.g.:
t_hours = 1:24*360;
Sahar khalili
2022-9-19
Konrad
2022-9-20
Sounds like your (repsonse-) variable has the wrong data type ;)
The screenshot in your question indicates that your response variable 'P_surf' is of type cell. Try to convert it:
y1 = cell2mat(P_surf);
Your predictor (which has only 358 colums btw) seems to be of type 'datetime'. If fitgram() can't handle that, try to convert it using datenum().
If that does not solve the error, post the output of class(y1) and class(xData).
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
