how to run multiple number of regressions?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have table T with
Date Location Sales Visitors
1/1 NY 10 5
1/1 LA 7 3
1/2 NY 9 5
1/2 LA 4 1
Then I want to run regressions
(sales)=a_i*(visitor)+b_i
for each i = {NY, LA}. Is there any simpler way to do this?
0 Commenti
Risposta accettata
dpb
il 29 Lug 2021
tRegress=rowfun(@(x,y)polyfit(x,y,1),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Coefficients'});
3 Commenti
dpb
il 30 Lug 2021
tRegress=rowfun(@(x,y)fitlm(x,y,'linear'),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Model'}, ...
'OutputFormat',"cell");
If it gets too much more complicated may have to use an m-file for the function instead of anonymous function...also have to switch to a cell output to catenate the model outputs instead of table.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!