Category Archives: Uncategorized

NFL Picks – Week 6

You can view my predictions here.  Go Bears.

Season: SU: 38-24-1, Spread: 34-29, O/U: 31-29-3

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 2: SU: 9-7, Spread: 9-7, O/U: 6-10

Week 3: SU: 11-5, Spread: 9-7, O/U: 11-2-3

Week 4: SU: 8-6, Spread: 6-8, O/U: 6-8

Week 5: SU: 1-0, Spread: 0-1, O/U: 1-0

Prediction: Patriots 29-20
Pick: Giants +17
Over/Under: Over 43

Prediction: Panthers 25-24
Pick: 
Over/Under: 

Prediction: Browns 22-21
Pick: 
Over/Under: 

Prediction: Jaguars 25-22
Pick: 
Over/Under: 

Prediction: Chiefs 31-24
Pick: 
Over/Under: 

Prediction: Dolphins 23-22
Pick: 
Over/Under: 

Prediction: Vikings 25-24
Pick: 
Over/Under: 

Prediction: Ravens 26-21
Pick: 
Over/Under: 

Prediction: Falcons 26-21
Pick: 
Over/Under: 

Prediction: Rams 32-17
Pick: 
Over/Under: 

Prediction: Broncos 22-21
Pick: 
Over/Under: 

Prediction: Cowboys 21-20
Pick: 
Over/Under: 

Prediction: Chargers 27-26
Pick: 
Over/Under: 

Prediction: Packers 27-23
Pick: 
Over/Under: 

NFL Picks – Week 5

These are a week late.  But before you accuse me of cheating, see how I did. #notgood

You can view my predictions here.  Go Bears.

Season: SU: 44-31-1, Spread: 40-37, O/U: 37-36-3

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 2: SU: 9-7, Spread: 9-7, O/U: 6-10

Week 3: SU: 11-5, Spread: 9-7, O/U: 11-2-3

Week 4: SU: 8-6, Spread: 6-8, O/U: 6-8

Week 5: SU: 6-9, Spread: 6-8, O/U: 6-7

Prediction: Rams 28-20
Pick: Rams +1.5
Over/Under: ????

Prediction: Panthers 21-19
Pick: Jaguars +3.5
Over/Under: Under 40

Prediction: Bengals 26-17
Pick: Bengals -3
Over/Under:Under 47.5

Prediction: Falcons 26-25
Pick: Falcons +4
Over/Under: Over 50.5

Prediction: Saints 30-26
Pick: Saints -3
Over/Under:Over 46

Prediction: Vikings 24-22
Pick: Giants +5
Over/Under: Over 43.5

Prediction: Titans 22-16
Pick:
Over/Under:

Prediction: Eagles 25-18
Pick: Jets +14
Over/Under: Under 43.5

Prediction: Steelers 27-24
Pick: Steelers +3.5
Over/Under: Under 44

Prediction: Bears 22-20
Pick: Raiders +5
Over/Under: Over 40

Prediction: Patriots 27-22
Pick: Washington Football Team +15.5
Over/Under:Over 42

Prediction: Chargers 29-20
Pick: Chargers -6
Over/Under: Over 44.5

Prediction: Cowboys 23-21
Pick: Packers +3.5
Over/Under: Under 47

Prediction: Chiefs 33-22
Pick: Colts +11
Over/Under: Under 56

Prediction: 49ers 22-21
Pick: Browns +4
Over/Under: Under 46.5

Undefeated NFL Matchups with large spreads

The 3-0 New England Patriots will play the 3-0 Buffalo Bills this week.  However, in spite of the fact that both teams are undefeated, the Patriots are favored by 7.5 points.  So this got me wondering: Has there ever been a biggest spread in a game that featured two undefeated teams?  So I went back and checked.  (Well, I went back through 2006 because that’s how far back I have spread data readily available….)

First of all, I’m not counting games in week 1 where all the teams are “undefeated”.  And I’m not counting matchups where both teams are 1-0.  Everything else counts.

So, for a 2-0 vs 2-0 I found a Steelers-49ers game from 2007-09-23 where Pittsburgh was favored by 10 points (Steelers won 37-16).  For 3-0 vs 3-0, I found a game from October 4, 2009 between the Saints and the Jets where the Saints were favored by 7.5.  On September 30, 2013 there was another 3-0 vs 3-0 game the a 7 point spread: The Saints (again) were favored by 7 over the Miami Dolphins.

Of note, on Sep 25, 2011 the 2-0 Patriots were favored by7 points over the 2-0 Buffalo Bills.  (The Bills went on to win 34-31).

Other 2-0 vs 2-0 match-ups with big spreads include:

Colts favored by 6.5 over the Texans on Sunday Sep 23, 2007

Colts favored by 6.5 over the Jaguars on Sunday Sep 24, 2006

Finally, I have to mention that on Sunday Nov 4, 2007, the 8-0 Patriots played the 7-0 Colts and the Patriots were favored by 5.5 points.

Cheers.

 

 

 

NFL Picks – Week 4

You can view my predictions here.  Go Bears.

Season: SU: 39-24-1, Spread: 34-30, O/U: 31-30-3

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 2: SU: 9-7, Spread: 9-7, O/U: 6-10

Week 3: SU: 11-5, Spread: 9-7, O/U: 11-2-3

Week 4: SU: 9-6, Spread: 6-9, O/U: 6-9

Prediction: Packers 24-21
Pick: Eagles +4
Over/Under: Under 47

Prediction: Falcons 30-17
Pick: Falcons -3.5
Over/Under: Over 46

Prediction: Patriots 30-16
Pick: Patriots -7
Over/Under: Over 41.5

Prediction: Colts 24-22
Pick: Raiders +6.5
Over/Under: Under 46.5

Prediction: Chiefs 30-27
Pick: Lions +7
Over/Under: Over 54.5

Prediction: Texans 23-22
Pick: Panthers +5
Over/Under: Over 47.5

Prediction: Chargers 25-21
Pick: Dolphins +14.5
Over/Under: Over 44

Prediction: Giants 23-21
Pick: Washington Football Team +3
Over/Under: Under 48

Prediction: Ravens 25-18
Pick: Ravens -6.5
Over/Under: Under 45

Prediction: Seahawks 21-19
Pick: Cardinals +5
Over/Under: Under 48

Prediction: Rams 32-21
Pick: Rams -9
Over/Under: Over 50

Prediction: Bears 22-21
Pick: Vikings +1
Over/Under: Over 38

Prediction: Jaguars 23-20
Pick: Jaguars +3
Over/Under: Over 37.5

Prediction: Saints 27-21
Pick: Saints +2.5
Over/Under: Over 47.5

Prediction: Steelers 27-24
Pick: Bengals +3.5
Over/Under:Over 45.5

NFL Picks – Week 3

You can view my predictions here.  Go Bears.

Season: SU: 30-17-1, Spread: 27-21, O/U: 25-20-3

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 2: SU: 9-7, Spread: 9-7, O/U: 6-10

Week 3: SU: 11-5, Spread: 9-7, O/U: 11-2-3

Prediction: Jaguars 23-14
Pick: Jaguars + 1.5
Over/Under: Under 38

Prediction: Bengals 22-19
Pick: Bengals +6
Over/Under: Under 44

Prediction: Falcons 27-20
Pick: Falcons +2
Over/Under: Over 47

Prediction: Cowboys 24-18
Pick: Dolphins +21
Over/Under: Under 47.5

Prediction: Packers 24-21
Pick: Broncos +8
Over/Under: Over 43 PUSH

 

Prediction: Chiefs 26-24
Pick: Ravens +6.5
Over/Under: Under 53.5

 

Prediction: Vikings 28-16
Pick: Vikings -8
Over/Under: Over 43.5

 

Prediction: Patriots 29-17
Pick: Jets +23
Over/Under: Over 44 PUSH

 

Prediction: Eagles 27-20
Pick: Eagles -6.5
Over/Under: Over 46.5

 

Prediction: Panthers 20-18
Pick: Cardinals +3
Over/Under: Over 46.5 

 

Prediction: Buccaneers 24-22
Pick: Giants +6.5
Over/Under: Under 47.5

 

Prediction: Chargers 24-21
Pick: Chargers -3
Over/Under: Under 47.5 

Prediction: Saints 27-23
Pick: Saints +4
Over/Under: Over 47.5 

Prediction: 49ers 24-23
Pick: Steelers +6.5
Over/Under: Over 44 PUSH

Prediction: Rams 27-20
Pick: Rams -3
Over/Under: Under 49.5

Prediction: Bears 22-21
Pick: Washington Football Team +4
Over/Under: Over 41.5

NFL Picks – Week 2

You can view my predictions here.  Go Bears.

Season: SU: 19-12-1, Spread: 18-14, O/U: 14-18

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 2: SU: 9-7, Spread: 9-7, O/U: 6-10

Prediction: Panthers 23-18
Pick: Buccaneers +7
Over/Under: Under 49

Prediction: 49ers 21-19
Pick: 49ers +2
Over/Under: Under 45

Prediction: Chargers 30-23
Pick: Chargers -2.5
Over/Under: Over 47.5

Prediction: Vikings 30-21
Pick: Vikings +3
Over/Under: Over 44

Prediction: Jaguars 20-19
Pick: Jaguars +9
Over/Under: Under 43

Prediction: Patriots 28-20
Pick: Dolphins +19
Over/Under: Over 47.5

Prediction: Giants 19-16
Pick: Giants +2
Over/Under: Under 43.5

Prediction: Titans 24-21
Pick: Titans -3
Over/Under: Over 44.5 

Prediction: Steelers 29-25
Pick: Steelers -4
Over/Under: Over 46.5

Prediction: Ravens 27-10
Pick: Ravens -13
Over/Under: Under 47

Prediction: Cowboys 28-17
Pick: Cowboys -5.5
Over/Under: Under 46.5

Prediction: Chiefs 36-20
Pick: Chiefs -7
Over/Under: Over 53

Prediction: Bears 21-20
Pick: Broncos +2.5
Over/Under: Over 40.5

Prediction: Rams 38-34
Pick: Rams -2.5
Over/Under: Over 52.5

Prediction: Falcons 32-18
Pick: Falcons +1.5
Over/Under: Under 51.5

Prediction: Browns 27-21
Pick: Browns -3
Over/Under: Over 46

NFL Picks – Week 1

You can view my predictions here.  Go Bears.

Season: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Week 1: SU: 10-5-1, Spread: 9-7, O/U: 8-8

Prediction: Bears 23-18
Pick: Bears -3
Over/Under: Under 46.5

Prediction: Rams 22-21
Pick: Panthers +2
Over/Under: Under 50

Prediction: Browns 21-16
Pick: Titans +6
Over/Under: Under 45

Prediction: Chiefs 26-19
Pick: Chiefs -3.5
Over/Under: Under 51.5

Prediction: Ravens 23-16
Pick: Ravens -7
Over/Under: Over 38.5

Prediction: Vikings 26-19
Pick: Vikings -3.5
Over/Under: Under 48

Prediction: Bills 19-18
Pick: Bills +3
Over/Under: Under 41

Prediction: Eagles 27-17
Pick: Eagles -9.5
Over/Under: Under 45

Prediction: Chargers 24-21
Pick: Colts +6.5
Over/Under: Over 44.5

Prediction: Seahawks 26-16
Pick: Seahawks -9
Over/Under: Under 44

Prediction: Lions 20-15 PUSH
Pick: Lions -2.5
Over/Under: Under 46.5

Prediction: Giants 20-18
Pick: Giants +7.5
Over/Under: Under 46.5

Prediction: Buccaneers 24-22
Pick: Buccaneers EVEN
Over/Under: Under 51

Prediction: Patriots 28-22
Pick: Patriots -5.5
Over/Under: Over 49.5

Prediction: Saints 27-23
Pick: Texans +6.5
Over/Under: Under 53

Prediction: Broncos 21-20
Pick: Raiders +3
Over/Under: Under 43

 

Cheers.

ggplot2 vs base R graphics: An example

It took me a while to make the switch over to ggplot2 because I learned how to do things in R mostly with base R.  But I’m glad I finally made the switch.  ggplot2 is so much better in so many ways, and here is an example of how much easier it is to code and how much better the output looks.  (Side note: When I make art in R, I exclusively use base R.)

So anyway, on Tuesday I talked to our incoming graduate students about R, and presented some basics of data input and data visualization.  I gave a simple example of base R vs ggplot2 using a histogram and then a scatter plot.  After the talk, a colleague of mine sent me the following code for an example plot that he had made, and wanted to know how to do it in ggplot2.  Take a look at all this code!

summary(CO2)
str(CO2)
head(CO2, 20)
CO2.QC <- subset(CO2, Type == "Quebec" & Treatment == "chilled")
CO2.QN <- subset(CO2, Type == "Quebec" & Treatment == "nonchilled")
CO2.MC <- subset(CO2, Type == "Mississippi" & Treatment == "chilled")
CO2.MN <- subset(CO2, Type == "Mississippi" & Treatment == "nonchilled")
xrange <- range(CO2$conc)
yrange<-range(CO2$uptake)
png("/Users/gregorymatthews/Dropbox/StatsInTheWild/baseRplot.png",res = 300, units = "in", h = 5, w = 10)
par(mfrow = c(1, 2))
plot(CO2.QC$uptake ~ CO2.QC$conc, pch = 19, lty = 2, lwd = 3, cex = 1.5, las = 1,
ylim = yrange, xlim = xrange, col = "purple", xlab = "Concentration",
ylab = "Uptake")
par(new=T)
plot(CO2.QN$uptake ~ CO2.QN$conc, pch = 20, lty = 2, lwd = 3, cex = 1.5, las = 1,
ylim = yrange, xlim = xrange, col = "lightblue", main = "Quebec", xlab = "",
ylab = "")
legend("bottomright", title = "Treatment", c("Chilled", "Nonchilled"),
pch = c(19, 20), col = c("purple", "lightblue"))
plot(CO2.MC$uptake ~ CO2.MC$conc, pch = 19, lty = 2, lwd = 3, cex = 1.5, las = 1,
ylim = yrange, xlim = xrange, col = "orange", xlab = "Concentration",
ylab = "Uptake")
par(new=T)
plot(CO2.MN$uptake ~ CO2.MN$conc, pch = 20, lty = 2, lwd = 3, cex = 1.5,
ylim = yrange, las = 1,
xlim = xrange, col = "red", main = "Mississippi", xlab = "", ylab = "")
legend("topleft", title = "Treatment", c("Chilled", "Nonchilled"), pch = c(19,20),
col = c("orange", "red"))
par(mfrow = c(1, 1), las = 1)
dev.off()

All that code produces the following plot:

baseRplot

These are fine looking graphs, but you have to manually choose the x and y limits, the legends look weird and they have to be manually added to each plot, and it would be nice to have some grid lines in the plots, which can be added, but that addition must be done manually.  (As a fun exercise, try to recreate the plot above using ggplot2. Don’t cheat!)

Now take a look at how easy this is to do in ggplot2!


library(ggplot2)
png("/Users/gregorymatthews/Dropbox/StatsInTheWild/ggplot2plot.png",res = 300, units = "in", h = 5, w = 10)
ggplot(aes(x = conc, y = uptake, color = Treatment), data = CO2) + geom_point() + facet_grid( ~ Type) + xlab("Concentration") + ylab("Uptake") + labs(color = "Trt") + scale_color_manual(values = c("purple","blue"))
dev.off()

The code is so much more concise, it’s easier to read, the x and y limits were chosen automatically, and the output looks so much nicer!

 

ggplot2plot

What I’m trying to say is that in almost every situation ggplot2 > base R.

Cheers.

JSM 2019 – My Schedule

I attending every single JSM for 8 straight years from 2010 – 2017 (Vancouver, Miami, San Diego, Montreal, Boston, Seattle, Chicago, Baltimore).  Unfortunately, I missed last year in Vancouver due to the birth of my second child, but I suppose it was worth it (Benji just turned 1!).  This year I return to JSM in Denver for what would have been my 10th in a row had I not missed last year, and I am very excited.

I’ll be in Denver from Sunday afternoon through Friday evening (as I am staying an extra day for the Rocky Mountain Symposium on Analytics in Sports hosted by the University of Denver).  I’ve been working out my schedule for the week, and here’s what I have so far.  If there is something you think I should go to that you think I’d like and it’s not listed here, please let me know.

And as always, don’t forget to check out the data art show!

Sunday

4 – 5:50pm: Session Number: 79, Location: CC-502,  “Functional Data Analysis: Methods and Applications— Contributed”

I’m giving a talk in this session related to the work I’ve been doing on my NSF grant about classification of partially observed shapes with applications to biological anthropology.  You can view my slides here:  http://rpubs.com/statsinthewild/JSM2019_slides

6:05 – 7pm: 2019 JSM Public Lecture—Invited ASA 6:05 p.m. Data Tripper: Distinguishing Authorship of Beatles Songs through Data Science – Mark Glickman

I believe this is the first time they are ever doing a public lecture like this.  Anyone can attend even if you haven’t signed up for the conference.  This is a great way to reach out to the public and people who don’t want to pay to attend JSM to see a really interesting talk on data science.  And getting Mark Glickman to do the first one is a great selection.  He’s a super interesting speaker and this topic is super interesting.

Monday

8:30 – 10:20am: Session Number: 98, Location: CC-607, “The Multiple Adaptations of Multiple Imputation— Invited”

This session has Jerry Reiter, Trivellore Raghunathan, and Donald Rubin (Rubin is my adviser’s adviser’s adviser……).  I spent 4 years of my life reading approximately a billion papers by these three.  If you are at all interested in synthetic data and/or multiple imputation, you should definitely check this out.  I know it’s at 8:30 in the morning.  But if I can make it, you can make it too.  And besides.  It’s Mountain Time.  So it’s like 10:30 if you live on the east coast or 9:30 if you live in flyover country like me.

9 – 11am: Location: Room H- Mineral Hall A at the Hyatt Regency Denver, Data Fest Meeting

So I know that I just said how awesome that 8:30am session is going to be, but I’ll be missing it because the Data Fest meeting is from 9am-11am.  This is where I’ll be during that time.  (Side note: Loyola just had it’s fourth annual DataFest this past Spring.  I can’t believe I’ve done it 4 times!)

1pm-2pm: Research meeting with some colleagues.  Talking about incomplete shapes!

4 – 6pm: Session Number: 261, Location: CC-Four Seasons 2-4, ASA President’s Invited Address—Invited JSM Partner Societies, “Coming to Our Census: How Social Statistics Underpin Our Democracy (And Republic),” Teresa A. Sullivan, University of Virginia

Teresa Sullivan

5 – 6pm: Section of Statistics in Sports mixer, Location: Rock Bottom

I go to this every year.  Stat nerds, Sports, Beer.  It’s where I belong.

Tuesday

8:35 – 10:20am: Session Number: 292, Location: CC-709. “Providing Access to Useful Data While Preserving Confidentiality—Topic Contributed Survey Research Methods Section, Government”

My adviser, Ofer Harel, will be presenting some work that we did together a few years ago bout privacy and ROC curves.

10:35 – 11:50am: Session Number: 344, Location: CC-506. “Expanding Data Utility – Issues in Disclosure and Modeling—Contributed”

I’m particularly interested in the talk at 11:05am “Using Generative Adversarial Networks to Generate Synthetic Population”.  The first time I ever read about GANs my immediate thought was: Synthetic Data!  I’m interested to see what they are doing here.

10:35 – 11:50am: Session Number: 323, Location: CC-708. “Causal Inference in Sports Statistics—Invited”

I’m going to try to get to this one for the last two talks starting at 11:25.

Evening: Rockies vs Dodgers

#gocubsgo

Wednesday – Friday Schedule Coming soon.

NFL Win probability art

So I was screwing around with the nflscrapr package by Ron Yurko and Maksim Horowitz, probably doing something useless and unproductive.  In their tutorial on the github, I came across this image:

Screen Shot 2019-06-21 at 9.56.37 AM.png

And for some reason, I thought that would look really cool rotated 90 degrees.  So after a few hours of playing around with win probabilities (and smoothing), I came up with these.  These are the win probabilities for every NFL team for the 2018 season.  I think these look awesome, and I’ll probably bring a few of these with me to the JSM Data Art show.

I particularly like New Orleans, Jacksonville, and New England:

win_prob_art_NO_2018win_prob_art_JAX_2018

(Wouldn’t this look nice in your office?)

Screen Shot 2019-06-21 at 9.59.56 AM.png

If you are interested in ordering one of these, DM me at @statsinthewild.

Update:
No need to DM me, you can order them now here:

Cheers.

 

Loading cart ⌛️ ...