- 27
- 30 652
sastutorials
Приєднався 20 вер 2019
This channel was set up to accommodate Concordia University students (Montreal) who are taking business forecasting and other data intelligence classes. I work as a TA for these classes and I give tutorials on SAS EG and SAS Base. I love using SAS for data analysis and I am excited to share my knowledge. Is it perfect? No, of course not. I find that learning about SAS is a never-ending journey :)
Exponential Smoothing, Holts & Winters SAS EG
In this tutorial I am covering how to run smoothing models in SAS EG: exponential smoothing, Holt's and Winter's models in SAS EG and how to save and export your data afterwards.
Переглядів: 891
Відео
Smoothing Moving Average Forecast: SAS EG
Переглядів 7464 роки тому
In this tutorial I am covering how to run a moving average at the order of 4 in SAS EG/ Base and how to calculate forecast errors in order to assess the model performance.
Mean Naive Forecast: SAS EG
Переглядів 594 роки тому
In this tutorial I am covering how to run a mean naive forecast in SAS EG/ Base and how to calculate forecast errors in order to assess the model performance.
Seasonal Naive Forecast: SAS EG
Переглядів 3524 роки тому
In this tutorial I am covering how to run seasonal naive forecasts in SAS EG/ Base and how to calculate forecast errors in order to assess the model performance.
Simple Naive Forecast: SAS EG
Переглядів 5144 роки тому
In this tutorial I am covering how to run naive forecasts in SAS EG/ Base and how to calculate forecast errors in order to assess the model performance.
SAS University Edition: Regression model
Переглядів 7934 роки тому
See how to run a regression model for time series analysis in SAS University Edition. How to fit a linear trend, how to create seasonal dummy variables.
SAS University Edition: ARIMA
Переглядів 4,2 тис.4 роки тому
It is a tutorial to help you fit ARIMA model to time series data.
SAS EG: Regression for Time Series Analysis
Переглядів 1,9 тис.4 роки тому
In this tutorial I am showing how to fit linear, quadratic trend and seasonal dummy variables into a regression model in SAS EG. Enjoy :)
SAS BASE: Proc SQL
Переглядів 7204 роки тому
If you would like to use SQL in SAS, you need to know how to run proc sql. This tutorial is exactly about it.
SAS BASE: Macro programs
Переглядів 1954 роки тому
In this tutorial you can learn how to create macro programs. Enjoy :)
SAS BASE: Macro Variables
Переглядів 2424 роки тому
Learn how to create macro variables in SAS Base. It's a lot of fun and it is going to save loads of time!
SAS BASE: Working with arrays (intro)
Переглядів 6224 роки тому
In this tutorial we are working with numerical arrays in SAS Base.
SAS Base: How to sum multiple observations per one ID
Переглядів 7 тис.4 роки тому
In this tutorial you are going to see how to sum multiple observations per one ID by either using proc means or if first, if last in SAS Base.
ARIMA in SAS EG
Переглядів 1,8 тис.4 роки тому
In this tutorial you will find out how to build ARIMA in SAS EG and how to calculate forecasts given the SAS output in Excel
Numerical, character functions: SAS BASE
Переглядів 3304 роки тому
We are going to go over some functions that you can use in SAS for numerical and character variables
Regression model with residual plots in SAS EG
Переглядів 2,2 тис.4 роки тому
Regression model with residual plots in SAS EG
Multiple time series regression model in SAS EG
Переглядів 3024 роки тому
Multiple time series regression model in SAS EG
Simple time series regression model in SAS EG
Переглядів 1,3 тис.4 роки тому
Simple time series regression model in SAS EG
Arima: Fitting Model to Time Series in SAS EG
Переглядів 1,7 тис.4 роки тому
Arima: Fitting Model to Time Series in SAS EG
Aggregating Daily Observations by Months
Переглядів 1455 років тому
Aggregating Daily Observations by Months
Using frequency tables, cross tables, histograms
Переглядів 2625 років тому
Using frequency tables, cross tables, histograms
The Best teacher.❤
Thank you very much. The first. last. worked perfectly for me because I wanted to keep all variables except a few.
Great vid. Please, a question does SEG include cross-correlation analysis of time series or do I have to get SAS/ETS ? Thank you very much.
Raw data file give me
Дякую)
I just subscribed to the channel. I am doing regression with proc nlmixed. Please how can I plot the observed data with the regression line and it's 95% confidence band?
@23:09
Awesome Video... I got so much information from this video and the way you were giving example made it more easier to understand.... Thank you so much.
Thank you so much Krutarth. I am really happy you liked it!
Thank you
So happy you liked it!
Hello, I just watched few of your videos on arima modeling. Would you be willing to help mi figure out the parameters of my models? It woud help mi a lot because I am not greate at english.
Hi, thank you for your comment. I think I’ll be able to direct you, for sure. So, what is your question in particular :)
@@sastutorials5245 So, I use arima modelling to predict development of parameters of some mortality models. I took advise from your comment section and used auto.arima in R to identify parameters of arima model for my time series a then tried to apply it in the SAS EG. But in case of ARIMA (2,2,0) or basically any model with AR (2) I am not able to get same result in SAS as in R (I mean completely different). I don’t know if I am doing something wrong or is this possible?
@@Jaja0812 Oh, I see. I know it may look confusing when you are trying to generate the same model in different software and get different results. But it’s ok! They’re using slightly different algorithms so don’t worry about that. Your results will never be the same :)
@@sastutorials5245 and do you consider results of auto.arima to be the best arima model or do you just use it to have some starting point?.. By the way, thank you very much for your time.
@@Jaja0812 My pleasure :) I would say that auto.arima is great, and you may go with its results, but I like checking a few models against the one I consider the best for comparison.
This is a wonderful tutorial, darling. I would also like to ask how can we sum the difference of one obervation with others. In first example, what I mean is how to calculate the the sum of salary difference in Human Department and all others. (Difference_Human= Sigma(Human-Others). Then, I would like to save into new column so-called “Difference” to present how much salary varies across departments. What is the code that I should go through?
Hi, it’s a good question and here’s how you can tackle it: 1) calculate the salary for departments as described in the tutorial; 2) calculate the salary for Human Resource by following the code as described in the tutorial using where statement, for example, like this: output out=hr_sal_sum(keep=hr_salary where=(dept=“HUMRES”)) sum=hr_salary; 3) create a new dataset using the both outputs you created: data difference; set sal; if _N_=1 then hr_sal_sum; /*to add only the HR salary*/ Sal_diff=dept_sum-hr_salary; run; “If _N_=1 then set” statement only works when you have a dataset with one row only. I hope it helps :) Dariia
@@sastutorials5245 Dear Dariia, I have run and it works well! But, what happens if we add conditions? For instance, I would to see the sum of differences between HR and other departments, but only those who have higher salary will be considered! (Diff=sigma(HR- A) + (HR-B) +(HR-C).... IF A,B,C >HR ) Thanks so much for your efforts!
@@duyle5355 Hi, thank you! It’s another great question. You can use a where statement in the data step that should do the trick (but it’ll only leave the rows with values over HR): where A>HR or B>HR or C>HR; Otherwise you can use an if-statement: If A>HR or B>HR or C>HR then Diff=...; I hope it helps! Dariia
this video is very helpful, do you have a video that accumulates monthly sales for a specific year on a data that includes multiple years...?
Thank you! If you want to sum monthly sales for only one year then try subsetting the data by using the where statement. Something like: proc means data=sales (where=(year=2021)); ... To subtract year from your date variable if you need to, you can use year() function. proc means data=sales (where=(year(date)=2021)); ... I hope it helps.
Superb mam
and as for seasonal, do i really need to do differencing for 1,12 because it seems i have to delete my 12 data. Because my data have seasonal as well but my lecturer says 1 differencing is enough.
That’s a good question. It all depends on how much data you can afford to lose. If you have over 10 years of data, losing one year shouldn’t be a big deal. Also, how strong is the seasonality? In reality, if you have a trend, differencing at lag1 should make your data stationary then AR and MA processes can easily take care of seasonality. The simpler the model, the better. In the tutorial I was aiming at showing the most complex cases and how to realize them in SAS. I hope it helps :)
hai may i know why dont you include 1,12 in AR model at 44:49 ?
Hi, that’s a good question :) Before recording this I, actually, ran multiple models in SAS, and I also used R to run an autoarima function to see its recommendation. This model was recommended by R. As the model was complex enough, I used it as an example in this tutorial to show how to build a complex ARIMA model in SAS. Given the present autocorrelations, I would definitely have to continue modelling, though :) I would run ARIMA(1,1,1)(1,1,0)12 and if that wouldn’t work, I’d combine both seasonal AR and MA processes. ArIMA processes are not straightforward and require a lot of trial and error before you can find something that perfectly models your data and allows you to forecast future periods more or less accurately.
Hi, how can i do the decomposition for forecasting using SAS EG?
Hi, you’ll have to write a code to decompose your time series. You’ll have to open a program and type your code there. Here’s a blog post where they explain how to do it: blogs.sas.com/content/sgf/2019/09/13/time-series-decomposition-with-sas/
why libname for me is not valid? it say 'ERROR: assignment1 is not a valid SAS name. ERROR: Error in the LIBNAME statement.' you use bsta477 because you create the file right? why u use bsta477 not work?
Hi, a libname can only consist of 8 characters in SAS. Call your libname assign1, and it will be a valid name :)
@@sastutorials5245 oooo. I see. Did you know how to do seasonal, trend, cyclical and irregular composition(forecasting I think) using SAS?
@@btsjimin8875 You’ll have to do a bit of coding. Here’s a blog post on how to do it in SAS: blogs.sas.com/content/sgf/2019/09/13/time-series-decomposition-with-sas/
@@sastutorials5245 So I must use SAS Visual Analytics? I cannot use SAS EG? what's difference between SAS EG and SAS Visual Analytics? Sorry I not familiar with SAS😅 I need to do assignment (decomposition using SAS) but my lecturer not teaching me about SAS
@@btsjimin8875 No, you use SAS EG, but you’ll have to open a program and type in your code there to get results.
great
Thank you! :)
how can i do a trasformation of scatter plot because of they are not random?
Hi Emilia, it is a really interesting question and there is no straightforward answer to it. I’ll give you some directions and hope they’ll help :) Some of the typical ways of transformations to do are: 1. taking a natural log of x (especially if it is right skewed) 2. Logging both x and y 3. Taking the inverse of x 1/x if the x and y relationships are negative 4. Trying Box-Cox transformations If you have a chance of introducing other explanatory variables into your model, that’ll be great! I hope it helps.
is there any way to create naive model on the university edition?
It's a good question. I haven't seen any version of SAS that would offer you simple naive forecasting models. If we are speaking about Simple Naive non-seasonal forecast when you take a previous month's value to forecast the next month's value, then you can use a lag function, for example, lag(Sales). If we are speaking about Seasonal Simple Naive Forecast, then you can take a lag of 12, for example, if you have monthly data: lag12(Sales). It is all done at the data step in SAS and you have to split your sets into training and validation before that. The biggest problem, however, is that you have to calculate residuals and errors and that's where coding becomes complicated. If you have time, you can do it just for fun :) If you don't have time, then just go for Excel. To see and practice coding for naive models, you can check out these videos on SAS EG. Even though the part where you import and split your data is going to be different, the coding part will be the same: - Simple Naive: ua-cam.com/video/vpIR1Vjdptk/v-deo.html - Seasonal Naive: ua-cam.com/video/y8ywqYR5yMk/v-deo.html - Mean Naive: ua-cam.com/video/RUGqQqExYw0/v-deo.html Or you can just go to this playlist: ua-cam.com/play/PLrhafP55jzlmVuwjSI9cz5T5wBXWhNFVo.html I hope it helps :)
Also, the "Quick Stats" feature has been removed from EG 8.x by the SAS R&D team.
Really? I had no idea! I have been using SAS EG 7.1 because that is what they made available to us at Concordia. Then, you only have one option left - use Describe once you have the dataset open. It’s weird, though, that they described that feature in their SAS EG guide for 8.2 if they had removed it.
@@sastutorials5245 Yep! That's what I did. I used the described feature.
Quick question, I am on SAS EG 8.2 and following your tutorial ( AMAZING Tutorial btw). I cannot seem to find the portion on the right with the menu "Data view list", "Quick Stats" and "Tools". Everything else is the same. Can you please look into this for me?
Hi, thank you for your question. From what I understand, you typically cannot use the Quick explore option if you are trying to check out a data set in the Work library. Before you explore your dataset, you have to run a regular libname statement to create a directory. Then you have to locate the file on the left (on the server) as shown in the tutorial and right-click on it to find "Explore". After that you will see all those fields. You may want to explore it deeper here: documentation.sas.com/api/docsets/egug/8.2/content/egug.pdf?locale=en beginning on page 72 (or 80 in the browser). The chapter's called "Exploring Your Data". Let me know if you managed to explore your data in the end :)
@@sastutorials5245 Thank you for responding. The problem was, I couldn't access my SAS Studio tasks in SAS EG. I integrated SAS studio single user and SAS EG, it worked. Thank you again.
@@theopokus7175 Can you tell me what you see then? What options do you have available?
Does it have auto arima which the program automatically select the appropriate model for you in SAS/BASE?
MasterofPlay7 It’s a great question and I adore that function in R! I couldn’t find that function in SAS, unfortunately!
@@sastutorials5245 i know you can do that in python with stats.model, i don't know R....
MasterofPlay7 I mean, it doesn’t really matter which language you use. The thing is SAS doesn’t seem to offer it. I typically do it in R, you can do it in Python and then use the obtained parameters in SAS if you need to.
@@sastutorials5245 yes python sklearn doesn't give you the parameter estimates and its corresponding p values like in sas
@@sastutorials5245 do you work for sas?
I like your teaching style! wanna to learn from you Can you emailme: dtrital16@gmail.com
Family Fun Pack Thank you! I emailed you :)
Thank you very much, your tutorial saved my day, keep uploading videos, you will sure get a lot of subscribers. Good Luck
Daniel Lakshan I am so happy to hear that! Thank you! Good luck with your projects! :)
Keep up the great work! Thank you so much!
Armita Ghobadi Thank you for your feedback!
Thank you for your efforts! It is very helpful.
Kai Chang I am happy you found it helpful!
Thank you! You saved me a lot of time trying to understand the plots... Great job .
Rose I’m happy you found it helpful! 😄