Cluster-Robust Regression in Python
This is a short blog post about handling scenarios where one is investigating a correlation across some domain while controlling for an expected correlation across some other domain. If that sentence made no sense to you don't worry, here is a simple example:
You can read much more in-depth about this technique here.
Research Question:
To determine if Instagram users are more likely to also post on Facebook or to Twitter.Analysis Plan:
Perform a t-Test to look at the difference in means of how often Instagram users are posting on Facebook vs. Instagram users posting on Twitter.Problem:
Some users have Facebook accounts (Group A), some users have Twitter accounts (Group B) and some users have both (Group A/B). So we can't really use a Related Samples t-Test or an Independent Samples t-Test. Also, some users post many photos on Instagram and others only make the occasional post. We could therefore expect that the difference between users may be larger than the difference between what we actually want to measure which is Facebook vs. Twitter posting.Solution:
Cluster-Robust Regression! We will perform a simple regression where standard error is calculated on a "Per-User" basis.You can read much more in-depth about this technique here.
The Simple Method
Clustered Regression is supported and very well documented in Stata using the vce(cluster) argument.
Read about it here: https://www.stata.com/manuals13/xtvce_options.pdf
The (Free) Python Method
After scouring the web and reading countless confusing and poorly documented pages I discovered that the Python StatsModels Library actually does support clustering in its OLS Regression Package, even though it can be extremely difficult to find.
Sample Data
We will use the UCI School Performance Dataset where each line is has information about a specific student and their grades in a course. This dataset is relevant because the students came from 2 different schools, so it is reasonable to suspect that performance may be similar within the 2 schools. We will see if the number of absences is correlated with final-grade mark and cluster based on "school attended"
Writing Code
Lets begin by loading in the dataset and printing the first few lines:
Next lets isolate our dependent and independent variables and run a "normal" un-clustered regression:
Output:
Output:
A coefficient of 0.0196 and a p-value of 0.497 indicates no significant correlation
Lets now perform the robust regression with clustering on "school" to control for the similarities within schools.
Output:
A coefficient of 0.0196 and a p-value of 0.143 indicates no significant correlation
Still, there is no significant correlation, however; there was a notable change in p-value.
Further Reading
I would highly recommend anyone who is interested in this type of modelling to read A Practitioner’s Guide to Cluster-Robust Inference as it goes into much more detail on the statistics behind the code and gives a thorough explanation of performing clustered regression in Stata.
Source Code
Full project repository available here
Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!
ReplyDeleteOnline training in USA
Thanks for sharing is so amazing and helpful to us.
ReplyDeleteBuy Hydrocodone online
ReplyDeleteBest Article buy Pain Pills online Excellent post. I appreciate this site. Stick with it! Because the admin of this web page is working, no doubt very quickly it will be well-known, due to its quality contents.This website was how do you say it? Relevant!! Finally, I’ve found something that helped me.
Best Article buy Roxicodone online Excellent post
buy Xanax online
buy Oxycodone online
Best Article buy Pain Medications online Excellent post. I appreciate this site. Stick with it! Because the admin of this web page is working, no doubt very quickly it will be well-known, due to its quality contents.This website was how do you say it? Relevant!! Finally, I’ve found something that helped me.
buy Research Chemicals online
buy Roxicodone online
buy Cbd Isolate online
Thanks for sharing your innovative ideas to our vision. I have read your blog and I gathered some new information through your blog. Your blog is really very informative and unique. Keep posting like this. Awaiting for your further update. If you are looking for any Python programming related information, please visit our website Python training institute in Bangalore
ReplyDelete
ReplyDeleteBUY WEED ONLINE
pineapple express online cheap sale in usa
buy nova og online
buy afghan kush online
buy nova-og-kush online
buy valuim online
buy ketamine rocks online
buy nebutal online
buy cocaine online
iboga for sale
buy ibogaine hcl online
buy ibogaine hcl online
buy ibogaine online
buy iboga root barks online
buy iboga powder online
tabernanthe ibogaine hcl for sale
ibogaine hcl research
iboga for sale
BUY WEED ONLINE
BUY OXYCODONE ONLINE
BUY IBOGAINE ONLINE
BUY DANK VAPES ONLINE
BUY PURPLE QUEEN ONLINE
BUY IBOGAINE CAPSULES ONLINE
BUY SUBUTEX 8MG ONLINE
BUY GELATO DANK VAPES CARTRIDGE ONLINE
Machine Learning Projects for Final Year machine learning projects for final year
ReplyDeleteDeep Learning Projects assist final year students with improving your applied Deep Learning skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include Deep Learning projects for final year into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Deep Learning Projects for Final Year even arrange a more significant compensation.
Python Training in Chennai Python Training in Chennai Angular Training Project Centers in Chennai
Thanks for sharing What an interesting site you have i really take a good look buy cocaine online and you can also take a good look at our blog too for more information buy crack cocaine online we also recommend you to take a good look at this site too they have good content buy mdma crystals online more of the site still want you to take a closer look too as they have really good content buy crystal meth online thanks for using your time to check on the link
ReplyDeleteThanks for sharing What an interesting site you have i really take a good look buy cocaine online and you can also take a good look at our blog too for more information buy crack cocaine online we also recommend you to take a good look at this site too they have good content buy mdma crystals online more of the site still want you to take a closer look too as they have really good content buy crystal meth online thanks for using your time to check on the link .order cocaine online
ReplyDeleteNice post. Thanks for share.
ReplyDeletedata analysis training course london
Really amazing to check this informative blog..!
ReplyDeleteJAVA Course in Chennai
Selenium Course in Chennai
Python course in Chennai
AWS Course in Chennai
Data Science Training in Chennai
DevOps certification in Chennai
Glock store
ReplyDeleteGlocks for sale
glock43 gen4 mos
glock 17 gen4
glock 17 gen5
buy glock g19 gen3 bb
glock 26
glock 17x
glock 42
glock 19 gen 5
glock 19 Mos Gen 5
glock 45 gen 4
glock 19 gen-3
magazine usa gen4
glock 43 For Sale
glock 34 gen 5
glock 26 gen 5
buy-liquid-lsd-online
ReplyDeletebuy-cocaine-powder-online-1gram
buy-mescaline-powder-online
volkswagen cocaine
buy colombian cocaine online
buy-amazing-columbian-cocaine
buy-cbd-oil-online/
buy-salvia-usa-online
lsd-blotters-for-sale
buy-mescaline-powder-online
crack-cocaine-usa-online
buy-morning-glory-seeds
buy-salvia-usa-online
buy-cbd-oil-online
salvia Usa online
cocaine online
crack cocaine
cocaine online
if you wanna get new latest features then click here...
ReplyDeleteStata Crack
CPUID HWMonitor Crack
Resharper Crack
HitPaw Screen Recorder Crack
Evernote Crack
Studio 3T Crack
Resharper Crack
IDM Crack
ReplyDeleteExcellent post, Its really friendly article...
Coolutils Total PDF Converter Crack
4K Video Downloader Crack
Stata Crack
IVT BlueSoleil Crack
VMWare Workstation Pro Crack