<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DataWrangl</title>
    <description>A blog (mostly) about Data Science, Machine Learning, and taming data.</description>
    <link>http://datawrangl.com/</link>
    <atom:link href="http://datawrangl.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 29 Apr 2017 21:41:37 +0000</pubDate>
    <lastBuildDate>Sat, 29 Apr 2017 21:41:37 +0000</lastBuildDate>
    <generator>Jekyll v3.4.3</generator>
    
      <item>
        <title>Most Important Data Science Skill? (Re)learning to Learn, Perhaps</title>
        <description>&lt;p&gt;“What, in your opinion, is the most important skill for data scientists to have?”&lt;/p&gt;

&lt;p&gt;Fortunately, I had a minute to think. I was one of four data scientist panelists, talking to a meetup group of mostly aspiring data scientists, about how to get into the profession and how to be successful.  I was on the opposite end from the microphone, so I had a few minutes to gather my thoughts while the other panelists answered.&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;My mind raced: so many things a data scientist needs to know.  What is the most important? Do you need to know R? Or Python? Data wrangling and analysis? Machine learning? Visualization? Hadoop or Spark?&lt;/p&gt;

&lt;p&gt;Ok yeah, you need to know all of those things.  Those are fundamentals (maybe not Hadoop any more). But how do I choose just one thing?&lt;/p&gt;

&lt;p&gt;The microphone came my way. Still a little unsure about what to say, I gathered myself and said, confidently (or so I hope it sounded): “The most important skill for a data scientist is to know how to learn, and how and where to acquire new skills.”&lt;/p&gt;

&lt;p&gt;On the surface, it sounds a little like a cop-out answer. But the more I think about it, the more I believe it. That skill is fundamental to having success as a data scientist. The field is rapidly changing.  How do you keep up?&lt;/p&gt;

&lt;h2 id=&quot;learn-the-fundamentals&quot;&gt;Learn the Fundamentals&lt;/h2&gt;

&lt;p&gt;It’s like when I take my kids to ski school.  The instructors don’t start the little rippers on the lift to the top of the mountain.  I’m glad too, because then my own epic day would be ruined. No, the instructors stay at the bottom, on a small hill with maybe 20 feet vertical rise.  The kids learn how to turn, learn how to stop, learn mountain safety. Only after they have mastered these skills with repetition are they allowed to the top of the mountain.&lt;/p&gt;

&lt;p&gt;But after they’ve mastered the fundamentals, do they stop learning? I think if my 5-year-old stopped continuing to learn more about skiing, he would be a bore to ski with by the time he’s 8.  If he keeps learning, he’ll enjoy it more, and skiing with him will continue to be more and more enjoyable (at least until his skill far surpasses mine).&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;/assets/skiing_fundamentals.jpg&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Skiing with the 5-Year-Old&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Likewise, you absolutely cannot stop learning data science once you have the fundamentals down.  The fundamentals: R and/or Python, machine learning, data exploration and analysis, visualization. Learning those fundamentals is a huge hill to climb (and the peak may be receding as you’re climbing!). Once you have a few basics down, you might want to take a break, to rest.  Binge on Netflix in your new-found free time. That might be ok for a little while, but if you keep it up, the market will soon pass you by, and your value will quickly diminish.  To be successful long-term, you will need to continuously refine your skills. Learn how to learn, and continuously  practice this skill.&lt;/p&gt;

&lt;h2 id=&quot;chasing-the-latest-fad&quot;&gt;Chasing the Latest Fad&lt;/h2&gt;

&lt;p&gt;Scroll through your LinkedIn feed, and if you’re well-connected to other data scientists you will see that a lot of them get excited about new data science or engineering technology.  Your feed might currently be dominated by articles about deep learning, Apache Spark, or Internet of Things (IoT).  Those are all great emerging technologies.  Yes, you should probably learn a bit about them. Maybe a lot. But don’t think that if you learn about them and become an expert, you are “done.”&lt;/p&gt;

&lt;p&gt;Even if you become the expert in a certain niche of data science, you are likely still at risk. The field is changing too fast. Becoming the expert and then relaxing: that’s not a good way to success.  The &lt;a href=&quot;http://www.datasciencecentral.com/profiles/blogs/big-data-falls-off-the-hype-cycle&quot;&gt;hype cycle&lt;/a&gt; is real.  It will hurt you, badly, if you don’t continually work on obtaining new skills and getting better.&lt;/p&gt;

&lt;p&gt;That’s why the current “fad” that excites me the most isn’t necessarily data science: it is how easy it is to learn and pick up new skills in an on-demand fashion.  And I don’t think this is a fad either. Education is changing, and quickly. We can all be the beneficiaries.&lt;/p&gt;

&lt;h2 id=&quot;learning-options&quot;&gt;Learning Options&lt;/h2&gt;

&lt;p&gt;So how can you go about this continuous learning? If you are working in the data science field, you might be somewhat constrained by the products you are working on and the tech you are using for your job. You don’t have the time to spread your wings while also working against a product deadline. That’s fine – if you’re getting paid to work you should probably focus on doing your job, not building your skill set to impress a future recruiter! Rather, I suggest you spend some of your away-from-work time continuing to build your skills.  A few hours a week will go a long ways.&lt;/p&gt;

&lt;p&gt;Here are some options for continuing to build your skill set. Depending on where you’re at in your career, some of these options may make more sense for you than others.&lt;/p&gt;

&lt;h3 id=&quot;moocs&quot;&gt;MOOCs&lt;/h3&gt;

&lt;p&gt;If you look at my &lt;a href=&quot;https://www.linkedin.com/in/tylerbyers&quot;&gt;LinkedIn profile&lt;/a&gt;, down in the certifications section, you will notice I am a big fan of the Massive Open Online Courses, or MOOCs. They are largely how I was able to pivot from working as a long-time data analyst into a role in modern data science and machine learning.  MOOCs, at least for me, are one of the easiest ways to pick up new skills. That doesn’t mean I become an expert after taking a class. Just because I finished the Coursera Data Science specialization doesn’t mean I deserve to be a data scientist in industry.  But the classes give me enough of a background in the fundamentals that I can go off and learn/practice more on my own and turn those beginner skills into real expertise.&lt;/p&gt;

&lt;p&gt;The MOOCs I’ve taken are mostly from Udacity, Coursera, and edX. I think by and large Udacity has the best quality courses of the “big three,” but since the introduction of their very successful nanodegree programs it has been impossible to do courses á la carte and receive a certificate of completion (certificates aren’t necessary, of course, but I’m a sucker for their motivational value). I’ve also enjoyed most of my edX and Coursera courses, and have appreciated what I’ve learned from them.&lt;/p&gt;

&lt;h3 id=&quot;graduate-or-professional-certificates&quot;&gt;Graduate or Professional Certificates&lt;/h3&gt;

&lt;p&gt;For those people who might come from an educational background in a field other than data science, a graduate or professional certificate from a university may be a good, relatively inexpensive solution for building your skill set and your network.  In 2015 I completed the University of Washington’s Professional and Continuing Education certificate in Data Science. I thought it was a very good program, overall (see my &lt;a href=&quot;/2016/01/19/uw-data-science-cert-review/&quot;&gt;review&lt;/a&gt; on my blog), but data science novices are the most likely beneficiaries of this method of learning. Unlike MOOCs, it’s not the sort of thing where you can quickly pick up a single skill and move on with your life.&lt;/p&gt;

&lt;h3 id=&quot;graduate-programs&quot;&gt;Graduate Programs&lt;/h3&gt;

&lt;p&gt;Graduate programs in data science are popping up all over the country. Buyer beware: the quality of such programs varies widely! I’m currently working on a M.S in D.S from &lt;a href=&quot;http://www.regis.edu/CCIS/Academics/Degrees-Programs/Graduate-Programs/MS-Data-Sciences.aspx&quot;&gt;Regis University&lt;/a&gt; here in Denver. While I don’t think a master’s degree is necessarily needed to be a successful data scientist, I’m a believer that in many ways it opens up more options later down the road. I may expand upon this idea in a future post.&lt;/p&gt;

&lt;p&gt;Obviously, a graduate degree is a much more expensive option than either of the previous two options.  And data science is changing so fast that by the time a curriculum for data science is designed, it is out of date! But I still believe that completing such a degree can be valuable to your career for many reasons.&lt;/p&gt;

&lt;h3 id=&quot;open-source-data-science-masters&quot;&gt;Open Source Data Science Masters&lt;/h3&gt;

&lt;p&gt;The &lt;a href=&quot;http://datasciencemasters.org/&quot;&gt;Open Source Data Science Masters&lt;/a&gt; site is amazing. I won’t talk about it in any depth. But if you’re looking for inspiration about what to do or what to read, just go to this site and check it out. You’ll have plenty of reading and studying options to keep you busy for a long time!&lt;/p&gt;

&lt;h3 id=&quot;read-read-read&quot;&gt;Read, Read Read!&lt;/h3&gt;

&lt;p&gt;Often by the end of the day, the last thing I want to do is open my computer and do more coding. I’ve been doing that all day at work. So, instead, many nights I’ll read about data science. It’s amazing how much this reading has helped me when I talk about data science among peers, co-workers, and in interviews.&lt;/p&gt;

&lt;p&gt;When you read, you get the wisdom and experience of those who have taken the time to write down their thoughts. Like the writer James Altucher &lt;a href=&quot;http://www.jamesaltucher.com/2016/10/books-saved-life/&quot;&gt;says&lt;/a&gt;: “That’s why reading is great. It’s like I’ve lived 100s of lives as well as just my own.”&lt;/p&gt;

&lt;p&gt;What do I read? I usually just scroll through my LinkedIn feed and see what the amazing people in my network have posted. How did I build this network? First, I joined data science related groups. Then, I saw who was posting interesting stuff. I followed them. Saw what these people were commenting on and liking, and I followed &lt;em&gt;those&lt;/em&gt; people. Made my own comments, and people started connecting with me. The power of the network is truly amazing to me, still.  I eventually got on &lt;a href=&quot;https://twitter.com/tylergbyers&quot;&gt;Twitter&lt;/a&gt;, and get many valuable articles from there too, as long as I’m willing to put up with the low signal-to-noise ratio present in the firehose.&lt;/p&gt;

&lt;h2 id=&quot;keep-refining&quot;&gt;Keep Refining&lt;/h2&gt;

&lt;p&gt;If it sounds like a lot of work, well, it is! Data science isn’t for the lazy. Not for the get-rich-quick folks. Despite what Glassdoor and Harvard Business Review say, it’s hard work, and it’s really not as sexy as it sounds. I like it, and I contribute to my business, but it can be grueling and exhausting. And I constantly feel inadequate: there are questions that come up all the time where I answer: “give me a month to study that in depth, and I’ll get back to you.” But the thrill of discovery keeps me going. That and the thrill of continually needing to push myself to get better. I know that if I don’t keep my skills active, and improving, I will soon be passed by the many ambitious people who are willing to work harder.&lt;/p&gt;

&lt;p&gt;So get out there, get your hands dirty, and have fun learning. And then learn some more.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Thank you for reading my post.  What about you? Do you have any other favorite learning resources for new data science techniques and technologies? Would you be willing to share them in the comments?&lt;/p&gt;
</description>
        <pubDate>Mon, 19 Dec 2016 17:34:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/12/19/most-important-ds-technique-learning/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/12/19/most-important-ds-technique-learning/</guid>
        
        
      </item>
    
      <item>
        <title>Storytelling: The Power to Influence in Data Science</title>
        <description>&lt;p&gt;&lt;em&gt;Note: This is a lightly edited excerpt from my recent &lt;a href=&quot;http://blog.kaggle.com/2016/06/13/communicating-data-science-an-interview-with-a-storytelling-expert-tyler-byers/&quot;&gt;interview with Kaggle&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;
Humans are story-telling animals. We love a good story. Stories, whether in the form of movies, epics, songs, or myths: they capture us, they move us, they bind together generations, get us in touch with deeper messages. Everyone knows how to tell stories, at least a little bit. But, certainly some of us seem to have more storytelling talent than others. That group of five or six friends you hung out with in college: there was probably one person in that group that everyone loved to listen to.  They could tell stories for hours on end – funny stories, stories that made you think, stories that made you cry, stories that changed your life.  This person, they didn’t necessarily know more about the world than you.  But they knew how to craft their message in an interesting manner, and likely had an outsized influence on you and your circle of friends.&lt;/p&gt;

&lt;p&gt;As Data Scientists, we need to be able to influence. We have data and insights that can shape the direction of a business. But all our insights are for naught if we can’t convince the leaders in our business to &lt;em&gt;act&lt;/em&gt; on our insights.  Our Data Science peers might be interested in the details of our heroic data wrangling, or seeing how many models we ensembled, or how many features we engineered. Leaders of our business? Unless our work can save or generate dollars, they see nothing more than perhaps a grown-up version of a science fair project.  That’s right, I’m comparing your sophisticated models that took you three months to build to a fifth-grader’s &lt;a href=&quot;http://www.wikihow.com/Make-a-Papier-M%C3%A2ch%C3%A9-Volcano&quot;&gt;papier mâché volcano&lt;/a&gt;.  Interesting and fun, but eventually just clutter in your bedroom that you throw out with the garbage.  Hopefully you had fun and learned something, even if you didn’t win that ribbon!&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;/assets/paper_mache_volcano.jpg&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Not my volcano, but I made one like it in fifth grade.&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;So, as Data Scientists, how can we influence? How can we convince our company leadership to act our insights?  I struggled with this when I began my current job. The five-minute morning standup meeting and occasional ggplot visualizations dropped into Slack chat weren’t enough.  I was doing (what I thought was) cool work, but it wasn’t affecting the direction of our product.  So I found my voice. I began telling my data’s stories, and writing the stories down. Working hard on visualizations. Thinking about my audience’s needs. Asking lots of questions – finding out what my business needs were, not just what I found interesting in the data.  I began focusing on how I was &lt;em&gt;communicating&lt;/em&gt; my insights.  And things began to change. It’s still (and always will be) a work in progress, but I am having increasing influence as my communication and storytelling improve.&lt;/p&gt;

&lt;h3 id=&quot;how-i-communicate-my-results&quot;&gt;How I Communicate my Results&lt;/h3&gt;

&lt;p&gt;It starts with the blog.  Last September, I spent several days figuring out how to start a &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;-driven blog on our company’s GitHub Enterprise install (of note, my &lt;a href=&quot;http://datawrangl.com&quot;&gt;personal blog&lt;/a&gt; is Jekyll as well).  At first I was worried that my time setting up the blog would be wasted – these were a few days when I wasn’t doing data work, after all.  But this has been one of my best decisions I have made.  I blog about two to three times a month, at various “stopping points” in whatever project I’m working on.  I love the blog because the words are mine, and I don’t have to worry about sounding too formal.  I can easily cross-reference previous blog posts.  Writing helps me organize my thoughts, helps me record additional questions, and provides a repository of ready visualizations if I need to have a presentation ready quickly.  I forget what I worked on just two months ago. I forget what ideas I had two months ago. If I go to my blog, I get that refresher much better than I would had I left the results in an R Markdown file in a random directory on GitHub.  And I can easily share my blog links with company leadership. In fact, I’ve been shocked how many times I’ve been asked a question by company leadership, and I can say “oh yeah, I think I did a project on that 4 months ago…yep, here’s the link!”&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;/assets/internal_comverge_blog.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;It won't win any style points, but my work blog is my best gift to my future self.&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;On a short-term basis, I still share day-to-day findings with my team in the morning standup meeting, but I try to limit what I share to just a couple sentences, unless someone asks me to elaborate.  I might still drop a ggplot visualization or two in our &lt;a href=&quot;https://slack.com/&quot;&gt;Slack&lt;/a&gt; chat every couple weeks.  These are nice to keep a conversation going, or to maybe get a question answered, but are easily forgotten and not very influential.&lt;/p&gt;

&lt;p&gt;Finally, I’ll occasionally give presentations to customers or potential customers, usually with leaders from my business in attendance. These can be high-stress, because business and dollars rely on the outcomes!  But, since I frequently write on my blog, I find delivering the content of the presentations to be rather easy. I know the material, have done my best to explain it in my blog, and rarely do I get very technical questions that I can’t answer.  The presentations are more about showing pretty pictures and telling how our way is an improvement on the old way (and it’s not very hard showing that Machine Learning is an improvement compared to analysis from Excel spreadsheets!).&lt;/p&gt;

&lt;h3 id=&quot;adding-value-to-my-work-beyond-the-numbers&quot;&gt;Adding Value to my Work, Beyond the Numbers&lt;/h3&gt;

&lt;p&gt;Effective reporting, detailed analysis, and visualization is what gives my “core” work any value at all.  My core work is developing machine learning software.  So it’s similar to a &lt;a href=&quot;https://www.kaggle.com/competitions&quot;&gt;Kaggle competition&lt;/a&gt;, where I develop a model, test it against a metric, and iterate to improve the model.  Once I get to a good “stopping point” with my model, I’ll write production-level code to integrate with the rest of our application.&lt;/p&gt;

&lt;p&gt;But, as any good Kaggler knows, in the course of creating my model, I’ve created a beast!  In particular, I’ve come up with several new features that must be engineered.  But I don’t do the engineering for the production systems! I write code in R! My team writes code in Ruby!  Their engineering pipelines feed my models.  How do we get on the same page?&lt;/p&gt;

&lt;p&gt;I’ve just spent two months creating this new, better model.  Now comes the arguably more difficult work.  The work of influence. The work of convincing my team lead that it’s worth his effort to write new &lt;a href=&quot;https://www.pivotaltracker.com/&quot;&gt;Pivotal&lt;/a&gt; stories, point them up, and assign them to team members.  Maybe push our product deadline back by a few weeks to accommodate the new work I’ve created.  Why and how is my new model better?  Why should they care?&lt;/p&gt;

&lt;p&gt;Fortunately, I’ve been blogging about my new model all along.  Creating visualizations showing the improvements against the test metric.  Admitting in my blog when a new feature that I thought would improve the model actually made it worse. Ordering my changes in terms of priority, should we not be able to implement all of my recommendations.&lt;/p&gt;

&lt;p&gt;My analysis must be extremely detailed. I need to anticipate questions.  I need to have had conversations with my team lead all along, to try to figure out what changes might be feasible, and which ones I should leave until the next version of our app.&lt;/p&gt;

&lt;p&gt;I’ve found that visualizations are even more effective than my words.  I can write for five pages trying to explain my argument.  But a good visualization or two captures the mind, captures the imagination, and I’ve found can ultimately be the influencing factor in convincing my team to take my suggestions.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;/assets/visualization_storytelling.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Source: &lt;a href=&quot;http://www.forbes.com/sites/brentdykes/2016/03/31/data-storytelling-the-essential-data-science-skill-everyone-needs/#52d15943f0c8&quot;&gt;Forbes.com: Data Storytelling&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;six-ways-to-improve-your-storytelling-skills&quot;&gt;Six Ways to Improve Your Storytelling Skills&lt;/h3&gt;

&lt;p&gt;Every person has the ability to tell a story.  Clearly, some people seem to have more talent than others, but storytelling is ultimately a &lt;em&gt;skill&lt;/em&gt;, and skills can be improved with intentional practice. Technical people in particular can really struggle telling a story.  I don’t know if it’s the whole left-brain versus right-brain thing, but clearly crafting a story is a creative process.  People with technical skills often tend to bogged down in the details.  Effective storytelling is more about keeping an eye on the big picture – where you want to start, the waypoints you need to hit, and where you want to end – while giving enough details to fill in the gaps in the big picture.  Here are some of my tips for becoming a better storyteller:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Read as much as possible.&lt;/strong&gt;  Fiction, non-fiction, technical books, blog posts, magazines, newspapers.  If you’re only reading material in Data Science, or in technology, most people will find you boring.  You won’t be able to connect with many people. Human connection is critical to effective storytelling.  Writers who get paid to write are essentially paid storytellers.  Learn from them!  I love reading National Geographic magazine in particular. The photographs are the story, and the essays surrounding the photographs add in the color and context.  If you must read data-related stories (and you should!), I think &lt;a href=&quot;http://fivethirtyeight.com/&quot;&gt;FiveThirtyEight&lt;/a&gt; sets the standard. Take inspiration!&lt;/p&gt;

    &lt;blockquote&gt;
      &lt;p&gt;“You have to read widely, constantly refining (and redefining) your own work as you do so. It’s hard for me to believe that people who read very little (or not at all in some cases) should presume to write and expect people to like what they have written, but I know it’s true.” - Stephen King&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Write as much as possible.&lt;/strong&gt; Writing provides clarity to your thoughts.  You will ask better questions.  You will be able to provide better answers when asked about your work. A well-written blog post or report can give you significantly more influence than you may think!  But you must practice. &lt;a href=&quot;https://taylorpearson.me/dothework/&quot;&gt;Do the Work&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Find your voice.&lt;/strong&gt;  You won’t be influential if your reports are boring or overly academic.  Leave the academic work for academia. That’s its place, and it works there. You are in business now! Find your voice.  Don’t be afraid of saying “I” in your blog posts.  Make people want to read your work.  Make people want to act on what you say.  This may be especially hard for people with PhDs, who have written academically for years. But once you get past this, it is extremely freeing.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Visualizations First:&lt;/strong&gt; When writing or giving a presentation in Data Science, before you write a word, add in your visualizations.  &lt;em&gt;Your visualizations should be your story.&lt;/em&gt;  The words you write or say should be meant to add context to your visualizations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Listen to Stand-up Comedy.&lt;/strong&gt;  Comedians have a special gift for noticing absurdities in the world around us.  But listen to the best stand-up comedians.  Are they standing up there telling one-liners?  Knock-knock jokes?  No! They are communicating the absurd via stories, often very elaborate stories.  Listen to how they craft these stories.  You don’t want to necessarily emulate a stand-up comedian when you are giving a Data Science presentation (I highly recommend against it), but you can learn a lot through their use of story as a communication tool, and can take cues from their cadence and inflection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;/assets/jim-gaffigan.jpg&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Know your Audience:&lt;/strong&gt; This is key to connecting, and thus influencing.  If your audience is the decision-makers of a potential client, they aren’t going to care about the details of your five-model ensemble, or what features you had to create.  They have business pain; how is your model solving it?  Who do you expect to read your reports?  Target their needs. Sure, you might need to write up a technical document for your future self or future teammates (or your replacement when you leave).  But then write another version of that report that your third-line manager can understand and act on.  If you don’t know your audience’s needs, you won’t connect with them; if you don’t connect, you won’t influence; if you can’t influence, then hopefully your work has been interesting to you, because it’s likely useless to your business.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Thank you for reading my post.  Do you have any examples of how storytelling has helped you in your career, in data science or otherwise?  Any additional tips for how to improve as a storyteller?&lt;/p&gt;
</description>
        <pubDate>Wed, 22 Jun 2016 02:50:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/06/22/stortytelling-in-datascience/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/06/22/stortytelling-in-datascience/</guid>
        
        
      </item>
    
      <item>
        <title>Data Science: Beyond the Kaggle</title>
        <description>&lt;p&gt;A few weekends ago, on a snowy Saturday in April (not uncommon in Denver), I signed into Kaggle for the first time in several months, looking to play around with some competition data in order to while away the chilly day.  My kids’ endless chatter and my wife’s disapproving looks faded into the background, and I blissfully wrangled data from the &lt;a href=&quot;https://www.kaggle.com/c/expedia-hotel-recommendations&quot;&gt;Expedia Hotel Recommendation&lt;/a&gt; competition for several hours.  I submitted a few entries, slowly climbing the leaderboard, and then finally I got up to help with my family duties.&lt;/p&gt;

&lt;p&gt;That night in bed, my mind whirled with possibilities for what I could do with the data to improve my score – different variables I could use, several time-related features I could engineer, and thoughts about how to ensemble a couple dissimilar models together.&lt;/p&gt;

&lt;p&gt;I woke up early Sunday and fired up my project in RStudio.  Between breakfast and reading a few news articles, I submitted a few more entries.  None were improvements on my previous entries.  By noon, I lost interest.  I quit.  I shut my computer, said sorry to my wife, I got on the floor, and started playing with my kids.  My mind slowly spun down, and I focused on the moment.  And I became happy again.&lt;/p&gt;

&lt;p&gt;I have a love-hate relationship with &lt;a href=&quot;http://www.kaggle.com&quot;&gt;Kaggle&lt;/a&gt;, the self-proclaimed “Home for Data Science.”  There are a lot of reasons to love Kaggle.  The competitions can be interesting, the forum participation fascinating and educating, it’s instructive to see the sorts of ways that companies are using predictive analytics, and the whole process is a fun way to learn about Machine Learning techniques in a hands-on manner.&lt;/p&gt;

&lt;p&gt;But it’s not Data Science.  Kaggle’s bread-and-butter is its Machine Learning &lt;a href=&quot;https://www.kaggle.com/competitions&quot;&gt;competitions&lt;/a&gt;, or Predictive Analytics competitions. The processes used in Machine Learning competitions only encompass a very small fraction of the Data Science process.  I suppose “Your Home for Data Science” sounds better from a marketing standpoint than “Your Home for Machine Learning Competitions” or “Your Home for Cross-Validation, XGBoost, and Overfitting Techniques.”  But I think people, especially those new to the craft and/or those companies looking to hire Data Scientists, should be aware that the Kaggle competitions only encompass a small part of the Data Science process.&lt;/p&gt;

&lt;p&gt;As I have made my own transition from long-time data analyst to modern Data Scientist, I have read several articles about “How to be a Data Scientist.”  Many, perhaps most, of the current articles suggest participating in Kaggle, or building a Kaggle resume/portfolio and getting a good ranking as a ticket to a job. Some authors stress this more than others.  One person suggested that participating in Kaggle competitions could be the equivalent of a Master’s degree. Another comment for a different article said “all you need to do is Kaggle.”&lt;/p&gt;

&lt;p&gt;Really?  That’s &lt;em&gt;all&lt;/em&gt; you need to do?  Sure, the skills learned and practiced in Kaggle competitions are important to Data Science.  But, based on my experience and the range of articles I have read on the subject, the skills to be good at Kaggle are maybe only 5-10% of the skills that you need to be a useful Data Scientist.  Here are some of the reasons why Data Science &amp;gt; Kaggle:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Defining the Question&lt;/strong&gt;: When working Data Science for a company, one of the first steps, and perhaps the most important step is &lt;em&gt;defining the question(s)&lt;/em&gt;.  What is the problem you are trying to solve? How will it help your business? What data do you currently have to support your analysis? What data do you need to find or create?  If, as a Data Scientist, you can’t ask good questions, you are sunk before your ship even sails. In Kaggle competitions, you are just given the question – it is served up to you on a silver platter.  Get the data and go!&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Data Acquisition&lt;/strong&gt;:  Working Data Science for a company, one of your challenges will likely be just &lt;em&gt;finding&lt;/em&gt; the data.  Where do you get it?  Maybe you scrape a web page. Or you hit a public API, which might be an ugly municipal government SOAP API.  Perhaps you use SQL to pull from a company relational database.  Or you go harass your friend in engineering to deliver you a data set.  For a Kaggle competition, you are given a data set or data sets, likely in CSV format.  Many competitions forbid finding and using external data for your solution.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Data Cleaning and Data Set Creation&lt;/strong&gt;: In the real world, after you’ve found a data set, or several data sets that you have to figure out how to merge, there should be a significant amount of &lt;a href=&quot;http://www.nytimes.com/2014/08/18/technology/for-big-data-scientists-hurdle-to-insights-is-janitor-work.html&quot;&gt;data janitor&lt;/a&gt; work.  This is a &lt;em&gt;big&lt;/em&gt; hurdle, and arguably takes the most amount of effort from any Data Scientist.  With the Kaggle competition data sets, sure, there might be some cleaning you have to do, but for the most part the data are fairly clean already and you just have to figure out what to do with NA values or outliers.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Anonymized Data&lt;/strong&gt;:  Companies that work with Kaggle to create competitions are understandably conscious about competitors using their data to gain a competitive advantage. To prevent this, Kaggle competitions usually use &lt;a href=&quot;https://www.kaggle.com/c/santander-customer-satisfaction/forums/t/19992/why-anonymized-data&quot;&gt;anonymized data&lt;/a&gt;. While understandable, I think this gets in the way of really understanding the data.  If all I have is some arbitrary feature names, like V1, V2, V3, etc, and some integer values for those features, it is hard to use intuition to help solve the problems.  Sure, we can do feature engineering to “combine” features in creative ways, but it’s not the same as intuiting that you can multiply V1 and V2 and divide by V3 to get a reasonable engineered feature.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Evaluation Metrics&lt;/strong&gt;:  Another difficult part about real-world Data Science is &lt;a href=&quot;http://napitupulu-jon.appspot.com/posts/difficult-metrics-abtesting-udacity.html&quot;&gt;coming up with an evaluation metric&lt;/a&gt; to evaluate the effectiveness of your machine learning model.  Kaggle competitions, in order to be a fair competition, must hand you the &lt;a href=&quot;https://www.kaggle.com/wiki/Metrics&quot;&gt;evaluation metrics&lt;/a&gt;.  The flip-side of this is that I’ve learned about several metrics that I otherwise might not have.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scoring Against the Evaluation Metric&lt;/strong&gt;:  In the real world, accuracy and having a good algorithm are important.  You want your machine learning model to be accurate. However, more important than having the most accurate algorithm is that your model is &lt;em&gt;useful&lt;/em&gt;.  &lt;a href=&quot;http://www.kdnuggets.com/2015/06/ensembles-kaggle-data-science-competition-p1.html&quot;&gt;Ensembling&lt;/a&gt; a dozen or more different machine learning models to win a Kaggle competition is cool, and it displays a fair amount of computer science chops (running and combining that many models isn’t trivial!), but it’s not very useful in the real world (the winning &lt;a href=&quot;http://www.wired.com/2012/04/netflix-prize-costs/&quot;&gt;Netflix Prize algorithm&lt;/a&gt; is a famous example, though that wasn’t a Kaggle competition).  In real-world Data Science, it’s more important to have a useful model that you can explain, and that can run in a short enough amount of time to be usable in a production setting.  In my own job, I’ve suggested to higher-up managers that I could use ensembling to improve our models, maybe achieving an accuracy 5-10% improved compared to our current accuracy. They said effectively “that’s cool, but will our customers notice an incremental improvement?” I said probably not.  “So let’s focus on answering some other questions first.”  Fair enough!&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scripts and Scoring&lt;/strong&gt;:  &lt;a href=&quot;https://www.kaggle.com/scripts&quot;&gt;Kaggle scripts&lt;/a&gt; are an ingenious way for competitors to share their work, and for newcomers especially to learn about coding techniques that the experts are using.  Unfortunately, the scripts can lead to inflated user rankings for unscrupulous and lazy users who don’t want to do the work themselves.  I believe it is too easy to fork a nice script that someone has written, click a button to run the script, and submit the results (you could do it all from your iPhone!).  This takes a few seconds to minutes at most, and doesn’t require you to download data, import it into R or Python, and really figure out how the algorithm works.  And yet, you can get full points for the leaderboard position your copied script takes!  I found one such script-button-pusher, completely evident from a few of his results (2 or 3 submissions for each of about half a dozen competitions, with the “script” icon next to his results, finishing in a knot of others with the exact same score using the exact same script) that had gotten enough points to be in the top 0.75% of Kaggle user rankings! His LinkedIn profile headline says “Machine Learning Enthusiast.” Apparently not enthusiastic enough to do his own work. So I say: Recruiters beware of a person’s Kaggle ranking! That’s only one data point that could be easily fudged to say “I’m top 1%!”  For more good bullet points on the pros/cons of Kaggle scripts, see this &lt;a href=&quot;https://www.quora.com/What-are-the-pros-and-cons-of-using-Kaggle-Scripts&quot;&gt;Quora discussion&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Substantive Expertise&lt;/strong&gt;:  One of the coolest parts about Kaggle is that you get to learn about how different companies are using Data Science in their operations.  As a budding Data Scientist, it helps you realize that Data Science is becoming more important in virtually every industry and scientific endeavor.  That’s exciting! But in a 2- to 3-month competition, unless you have virtually no family or work commitments, it seems as if it would be almost impossible to become a substantive expert in your competition of choice.  And, of course, the famous &lt;a href=&quot;http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram&quot;&gt;Venn Diagram of Data Science&lt;/a&gt; shows that substantive expertise is just as important as Hacking Skills (programming) and Math/Stats knowledge.  No doubt competition winners, maybe top five percenters, get a fair amount of substantive expertise during the course of the competition (or already had it coming in), but for the rest of the field you are likely more in the Machine Learning slice than the Data Science slice.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Telling the Story&lt;/strong&gt;:  According to an &lt;a href=&quot;https://hbr.org/2013/03/a-data-scientists-real-job-sto/&quot;&gt;HBR article&lt;/a&gt; from 2013, a Data Scientist’s real job is storytelling.  You need to tell the story of your data, from beginning to end, what it means, and how it affects the business. When telling the story, effective visualizations are paramount! For the overwhelming majority of Kaggle participants, this step is completely skipped. Sure, winners might be obligated to write up results as part of the condition of accepting prizes, and many winners and others blog about their results, but those blogs are more about the machine learning process, what features they engineered, and how they ensembled their models.  Interesting from a technical perspective?  Yes! Useful from a business perspective? Not so much. With anonymous features and a lack of substantive expertise, it becomes extremely hard to present a compelling story about the data, which is what you would be required to do in a business setting.  So, for me, more admirable than being a consistent top-percentage finisher in Kaggle competitions would be to have a Data Science blog where you compile and display your own projects and your own stories (one such excellent example is Julia Silge’s &lt;a href=&quot;http://juliasilge.com/blog/&quot;&gt;data science ish&lt;/a&gt; blog).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My point here isn’t to complain that Kaggle is a bad company, or has a bad service.  I still think Kaggle is, overall, an awesome company with a great vision about crowd-sourcing machine learning.  I am excited about &lt;a href=&quot;https://www.kaggle.com/datasets&quot;&gt;Kaggle Datasets&lt;/a&gt;, and seeing what people can do with that new service.  They have an amazing jobs listing service, which is another great place to learn what companies are hiring Data Scientists. Their forum is full of amazing contributions from brilliant machine learning experts from across the world. It’s a fun place to while away a weekend or a few evenings if you have the time to do so, and a great place to learn about new machine learning techniques.  My main point is to warn aspiring Data Scientists that there is a lot more to Data Science than just Kaggle competitions, or your Kaggle scripts profile. Take courses (MOOCs or formal education); find your own data sets; do full-stack analytics, including exploratory analysis, machine learning, and visualization; engage on social media; start a blog. Show you know how to ask questions, source your own data, build your own project from scratch, and write up the results.  Kaggle can be an enormous time-suck, so don’t allot it more time than its “weight” if you want to be a well-rounded Data Scientist (maybe 5-10%).  And then use your skills to make the world a better place.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;What do you think?  I’d love to hear your opinions, whether supporting or antagonizing.  I’m ready for the “sour grapes” comments because my Kaggle ranking isn’t all that high (5195 out of 545,284 as I publish – &lt;a href=&quot;https://www.kaggle.com/tylerbyers&quot;&gt;see my Kaggle profile&lt;/a&gt;), so I’d prefer those that disagree to use a more thought-out argument (my counter-point to the sour grapes argument is that I usually lose interest in the competitions after a few hours due to some of the reasons bulleted above). Otherwise, interested to hear what others in the Data Science profession think.&lt;/p&gt;
</description>
        <pubDate>Sun, 15 May 2016 14:07:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/05/15/data-science-beyond-the-kaggle/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/05/15/data-science-beyond-the-kaggle/</guid>
        
        
      </item>
    
      <item>
        <title>My Post on the Comverge Blog</title>
        <description>&lt;p&gt;Just a quick plug here. I work as a Data Scientist doing energy and demand response forecasting for &lt;a href=&quot;www.comverge.com&quot;&gt;Comverge&lt;/a&gt; in Denver, Colorado.  The marketing team asked me to put together a high-level overview of how we are using Machine Learning at the company.  If you are interested in learning more about how we use Data Science and Machine Learning techniques at Comverge, please &lt;a href=&quot;http://blog.comverge.com/expert-insights/how-comverge-is-using-machine-learning-to-improve-demand-response-forecasts/&quot;&gt;click through to see the blog post&lt;/a&gt;.  I used R to do all my modeling and make the “Model 1” and “Model 2” charts.  My engineering team created the nice user interface using D3.&lt;/p&gt;
</description>
        <pubDate>Tue, 15 Mar 2016 13:02:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/03/15/comverge-post/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/03/15/comverge-post/</guid>
        
        
      </item>
    
      <item>
        <title>Exploring 2014 Denver B-cycle Ridership</title>
        <description>&lt;p&gt;Denver, Colorado is considered to be one of the most &lt;a href=&quot;http://www.bizjournals.com/denver/news/2015/05/15/denver-among-top-10-most-bikeable-cities-heres-the.html&quot;&gt;bikeable cities in America&lt;/a&gt;. In addition to the fine bike lanes, bike trails, and mostly favorable weather (&lt;a href=&quot;http://www.westword.com/news/colorados-300-days-of-sunshine-claim-its-a-myth-and-states-climatologist-tells-us-why-5875821&quot;&gt;300 days of sunshine&lt;/a&gt;, says the possibly dubious but sunny claim), Denver is also a &lt;a href=&quot;https://www.bcycle.com/&quot;&gt;B-cycle city&lt;/a&gt;, with bicycle rental kiosks dotting the sidewalks near the city center.  For this short study, I obtained Denver’s 2014 B-cycle trip data, and used it along with some other data sources to see if I could model hourly ridership across the Denver B-cycle network.  My study indicated that most calendar and clock variables are highly significant when predicting ridership, and weather variables such as temperature and amount of cloud cover appear to be as well.  This post details how I obtained the data, how I merged data from different sources, shows some explorations of the data, and finally shows how I created a regression model of system ridership.&lt;/p&gt;

&lt;h2 id=&quot;about-b-cycle&quot;&gt;About B-cycle&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/B-cycle&quot;&gt;B-cycle&lt;/a&gt; is a public bicycle sharing company that operates in several cites, including Denver, Colorado.  The premise is that users may “checkout” a bike from a kiosk, which is usually along a city sidewalk, under various short- to long-term &lt;a href=&quot;https://denver.bcycle.com/pages-in-top-navigation/what-is-b-cycle/what-does-it-cost&quot;&gt;access passes&lt;/a&gt;, depending on the user’s preference and anticipated usage.  In Denver, most of the kiosks appear to have 10-20 “docks” where the bikes are stored until a user checks out the bike.  After a user checks out a bike, they ride it for as long as they wish, and then check it back in any B-cycle kiosk.  In 2014, Denver B-cycle operated 84 different kiosks, which are mostly clustered around the city center.  At the end of the year, B-cycle posts their yearly trip data as an Excel spreadsheet on their company webpage. I used these data, along with data from a few other sources, to conduct this study.  For more information, please see the &lt;a href=&quot;https://denver.bcycle.com/&quot;&gt;Denver B-cycle homepage&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;data-acquisition-and-merging&quot;&gt;Data Acquisition and Merging&lt;/h2&gt;

&lt;p&gt;For this report, I obtained data from several sources and combined the data together, taking the following steps.  Most of the initial data download and munging steps can be replicated by looking at the &lt;a href=&quot;https://github.com/tybyers/denver_bcycle/blob/master/exploring_bcycle_data.Rmd&quot;&gt;exploring_bcycle_data.Rmd&lt;/a&gt; file; most of these steps were too time-intensive to be carried out in a production-level script.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Downloaded B-cycle 2014 Trip Data from the &lt;a href=&quot;https://denver.bcycle.com/company&quot;&gt;B-Cycle company information webpage&lt;/a&gt;. I did some date munging and changed variable names to ones that are more R-friendly.&lt;/li&gt;
  &lt;li&gt;Obtained B-cycle kiosk data (kiosk name and address) by hand from the &lt;a href=&quot;https://denver.bcycle.com/&quot;&gt;Denver B-cycle homepage&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Created a list of the 6800 combinations of checkout kiosk/return kiosk.  For each combination, I used the &lt;code class=&quot;highlighter-rouge&quot;&gt;mapdist&lt;/code&gt; function from R’s &lt;code class=&quot;highlighter-rouge&quot;&gt;ggmap&lt;/code&gt; package to find the approximate bicycling distance and time between each kiosk. Because of the large number of one-way streets in the Denver downtown area, where the kiosks are highly clustered, I chose to find each checkout-return pair’s distance separately, rather than finding a single distance for each pair regardless of direction of travel.  This process took three days, because the Google Distance Matrix API (which the &lt;code class=&quot;highlighter-rouge&quot;&gt;mapdist&lt;/code&gt; function uses) only allows 2500 calls a day.&lt;/li&gt;
  &lt;li&gt;Found the latitude and longitude for each station using the &lt;code class=&quot;highlighter-rouge&quot;&gt;geocode&lt;/code&gt; function in the &lt;code class=&quot;highlighter-rouge&quot;&gt;ggmap&lt;/code&gt; package.&lt;/li&gt;
  &lt;li&gt;Obtained an API key from &lt;a href=&quot;https://developer.forecast.io/&quot;&gt;forecast.io&lt;/a&gt;.  Within R, in my exploratory &lt;code class=&quot;highlighter-rouge&quot;&gt;Rmd&lt;/code&gt; file, I wrote a function to download the weather data from forecast.io.  Each day’s hourly data comes in a separate JSON file; I saved each JSON file to a directory.&lt;/li&gt;
  &lt;li&gt;Within the production script, I merged different parts of the above data in different ways, depending on the specific task goals.  The final merging was to merge aggregated hourly checkout data with the hourly weather data.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;a-note-about-holidays&quot;&gt;A Note about Holidays&lt;/h3&gt;

&lt;p&gt;For my study, I factored in City of Denver observed holidays.  Denver city celebrates all the same holidays as the federal holidays, with the following exception: Columbus Day is not a city holiday, and is replaced by Cesar Chavez Day, usually in late March.  I only factored in the major &lt;a href=&quot;https://www.opm.gov/policy-data-oversight/snow-dismissal-procedures/federal-holidays/#url=2014&quot;&gt;federal holidays&lt;/a&gt; that result in government and bank closures (with the exception above), and not the lesser holidays.&lt;/p&gt;

&lt;h2 id=&quot;basic-ridership-statistics&quot;&gt;Basic Ridership Statistics&lt;/h2&gt;

&lt;h3 id=&quot;number-of-rides&quot;&gt;Number of Rides&lt;/h3&gt;
&lt;p&gt;The B-cycle data, as downloaded, contains 377,229 rows of “trip data.” Nominally, this means that 377,229 B-cycle trips were taken in 2014.  Indeed, the &lt;a href=&quot;https://denver.bcycle.com/docs/librariesprovider34/default-document-library/annual-reports/2014-denver-bike-sharing-annual-report.pdf?sfvrsn=2&quot;&gt;2014 Denver B-cycle annual report&lt;/a&gt; claims this to be the number of rides for the year.&lt;/p&gt;

&lt;p&gt;However, over 1% of the rides (4279 rides) have the same checkout station as return station with a trip duration of only 1 minute (see Figure 1 below).  I believe these should be filtered out because I believe the majority of these “rides” are likely people checking out a bike, and then deciding after a very short time that this particular bike doesn’t work for them.  I believe that most of the same-kiosk rides under 5 minutes or so likely shouldn’t count, but only culled the ones that were one minute long.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/duration_same_kiosk.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Figure 1: Trip Duration when Checkout Kiosk and Return Kiosk are the same&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;I also filtered out 258 rides with an “invalid return” station. This could be any number of things, but since finding nominal distance for these rides is very difficult, I filtered these out as well.&lt;/p&gt;

&lt;p&gt;With the above, I arrived at an estimate of &lt;strong&gt;372,684 B-cycle rides in 2014&lt;/strong&gt;.&lt;/p&gt;

&lt;h3 id=&quot;distance-traveled&quot;&gt;Distance Traveled&lt;/h3&gt;

&lt;p&gt;As mentioned in bullet #3 in the Data Acquisition section, I used a Google Maps API in the &lt;code class=&quot;highlighter-rouge&quot;&gt;ggmap&lt;/code&gt; package to derive the between-station distance for each station pair and then for each ride.  Because a large number of rides were returning to the same kiosk, meaning the minimum distance ridden cannot be estimated by Google Maps, I estimated the distance ridden by calculating the average speed of all the other rides (nominal distance ridden divided by the duration), and then applying this average speed to the same-kiosk trip durations, capping the trips at an arbitrary 5 miles.  While it’s likely I am underestimating the total distance ridden by a fair amount (perhaps 25%), since many riders will not take the straight-line distance between two stations (especially tourists/non-commuters), I estimate riders rode &lt;strong&gt;at least 616,960 miles&lt;/strong&gt; on B-cycle in 2014, with a more likely number 25% higher at 771,200 miles.&lt;/p&gt;

&lt;h3 id=&quot;most-popular-and-least-popular-kiosks&quot;&gt;Most Popular and Least Popular Kiosks&lt;/h3&gt;

&lt;h4 id=&quot;most-popular&quot;&gt;Most Popular&lt;/h4&gt;

&lt;p&gt;The following ten kiosks are the most popular kiosks by number of total bike checkouts in 2014.  The return kiosk popularity is very similar.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;n&quot;&gt;REI&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9898&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Stout&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8903&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Market&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;           &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8896&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;California&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8363&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1350&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Larimer&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8273&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Speer&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8128&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Market&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Street&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Station&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8116&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1550&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Glenarm&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7940&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Platte&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;           &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7714&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Public&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Library&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7401&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;least-popular&quot;&gt;Least Popular&lt;/h4&gt;
&lt;p&gt;The following ten kiosks are the least popular kiosks by number of total bike checkouts in 2014.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;m&quot;&gt;29&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Zuni&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;780&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Florida&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;S.&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pearl&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;               &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;987&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Louisiana&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pearl&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Light&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Rail&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1407&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ellsworth&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Madison&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;             &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1523&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pepsi&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Center&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1610&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Zoo&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1704&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Arapahoe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                 &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1851&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Juliann&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1926&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Colfax&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Garfield&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;               &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1989&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Clay&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1997&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;map-of-station-popularity&quot;&gt;Map of Station Popularity&lt;/h4&gt;

&lt;p&gt;I used the &lt;code class=&quot;highlighter-rouge&quot;&gt;ggmap&lt;/code&gt; package to create the following map showing the popularity of the various checkout kiosks (Figure 2). The size of the circle is proportional to the number of checkouts from that kiosk in 2014.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/checkout_kiosk_map.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Figure 2: Kiosk locations and number of checkouts in 2014&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;checkouts-per-membership-type&quot;&gt;Checkouts Per Membership Type&lt;/h3&gt;

&lt;p&gt;B-cycle has a number of different &lt;a href=&quot;https://denver.bcycle.com/pages-in-top-navigation/what-is-b-cycle/what-does-it-cost&quot;&gt;membership passes&lt;/a&gt;.  The following were the top 5 by number of checkouts in 2014.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;n&quot;&gt;Annual&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bike&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sharing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;               &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;232180&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                                  
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Kiosk&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Only&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bike&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sharing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;119489&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                    
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;day&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bike&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sharing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                 &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6025&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Not&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Applicable&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                               &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4490&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;day&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Denver&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bike&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sharing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;                  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3853&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;ridership-by-calendar-and-clock-variables&quot;&gt;Ridership by Calendar and Clock Variables&lt;/h2&gt;

&lt;h3 id=&quot;ridership-by-hour&quot;&gt;Ridership by Hour&lt;/h3&gt;
&lt;p&gt;To dive a little deeper into the data, I aggregated the data by taking the total number of bike checkouts for each hour of the year.  All checkouts in a given hour were assigned to that specific hour (i.e. a checkout at 6:02 AM and a checkout at 6:56 AM both count as a checkout in the 6 AM hour).&lt;/p&gt;

&lt;p&gt;I then totaled the number of checkouts in a given hour of the day – summing up over the entire year (so the 10 AM sum is the total number of riders checking out a bike in the 10 AM hour for the 365 days in 2014).  Figure 3 below shows the total number of bike checkouts for each hour of the day, and Figure 4 shows the estimated distance ridden given the hour of checkout.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/checkouts_by_hourofday.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt; Figure 3: Number of checkouts by hour, all 2014&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/avgMiles_by_hourofday.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt; Figure 4: Estimated average miles ridden by hour of checkout&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;These figures show that most bike checkouts occur during the 4 PM and 5 PM hours, likely for the evening commute; however, people are more likely to ride a longer distance during the middle of the day – this may have more to do with the “tourist factor.”&lt;/p&gt;

&lt;h3 id=&quot;ridership-by-hour-and-weekday&quot;&gt;Ridership by Hour and Weekday&lt;/h3&gt;

&lt;p&gt;I also looked to see if the above patterns held true each day of the week, or if the patterns were perhaps different on the weekend.  Indeed, as Figure 5 below shows, the weekday patterns (days 2-6) are all fairly similar; the weekend patterns show a significantly different shape, with usage peaks occuring between 1 PM and 3 PM.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/numcheckouts_by_hourofday_perweekday.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt; Figure 5: Checkouts by Hour of Day per Weekday&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;ridership-by-month&quot;&gt;Ridership by Month&lt;/h3&gt;

&lt;p&gt;Another calendar factor I explored was the number of checkouts by month.  Unsurprisingly, as Figure 6 shows, most bike checkouts occur during the summer months of June through August, and the fewest checkouts occur during the winter.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/totalcheckouts_bymonth.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt; Figure 6: Total Checkouts by Month&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;merging-with-weather&quot;&gt;Merging with Weather&lt;/h2&gt;

&lt;p&gt;After looking at ridership as it relates to calendar and clock variables, I merged the data with hourly historical weather data.  My hypothesis, based on observations of bicycle riding around Denver, is that in addition to ridership being affected by the time of day, ridership is &lt;em&gt;also&lt;/em&gt; affected by the weather. We would likely expect more riders on warmer days (the monthly ridership statistics may be a proxy for this).&lt;/p&gt;

&lt;h3 id=&quot;checkouts-vs-temperature&quot;&gt;Checkouts vs. Temperature&lt;/h3&gt;

&lt;p&gt;One variable I plotted is the number of bike checkouts versus the temperature (Figure 7 below).  I noted that the relationship between numbers of riders and temperature appeared to follow curve, rather than just a straight line.  I fit a &lt;a href=&quot;http://www.inside-r.org/r-doc/stats/loess&quot;&gt;loess curve&lt;/a&gt; in &lt;code class=&quot;highlighter-rouge&quot;&gt;ggplot&lt;/code&gt; to visualize the curve; based on this, in my linear regression in the next section, I used temperature &lt;em&gt;and&lt;/em&gt; temperature squared for my linear model fit.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;figure&quot; src=&quot;https://raw.githubusercontent.com/tybyers/denver_bcycle/master/figures/checkouts_vs_temperature.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;caption&quot;&gt;Figure 7: Checkouts vs. Temperature with Fitted LOESS&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;In my linear model, I also considered humidity levels and cloud cover levels.&lt;/p&gt;

&lt;h3 id=&quot;days-with-highestlowest-ridership&quot;&gt;Days with Highest/Lowest Ridership&lt;/h3&gt;

&lt;p&gt;I also found the 10 days with the highest total number of rides, as well as the 10 days with the fewest number of rides.  See tables below.  Unsurprisingly, the days with highest ridership were mostly warm (but not overly hot) weekend days, and the days with the least ridership were cold weekend days.  One reason for this effect may be that people who commute to/from work via B-cycle may be less affected by the weather in their decision to ride, while the “weekend warriors” who rent the B-cycles for pleasure are highly affected by the weather in their decision to ride.&lt;/p&gt;

&lt;h4 id=&quot;highest-ridership-days&quot;&gt;Highest Ridership Days&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Top 5 Days by Total Number of Checkouts:&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Source&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;frame&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

         &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;total_checkouts&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_temp&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min_temp&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;weekday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-19&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2181&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;91.96&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;61.79&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-08-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2085&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;78.98&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;56.26&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Friday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-05&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2082&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;90.78&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;61.51&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-06-25&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2064&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;84.34&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;56.20&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Wednesday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-08-02&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2027&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;81.67&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;54.46&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-03&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1950&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;89.01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;57.01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Thursday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-18&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1917&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;85.38&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;59.38&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Friday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-25&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1914&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;90.50&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;67.80&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Friday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-07-10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1892&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;91.93&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;62.38&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Thursday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-10-04&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1892&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;71.55&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;39.93&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;lowest-ridership-days&quot;&gt;Lowest Ridership Days&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Top 5 Days by Fewest Number of Checkouts:&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Source&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;frame&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

         &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;total_checkouts&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max_temp&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;min_temp&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;weekday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-01-05&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.21&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-2.79&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sunday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-01-04&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;39.38&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.79&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-02-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;24.57&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;11.21&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-12-26&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;19.33&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.12&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Friday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-12-30&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;44&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.49&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-10.55&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Tuesday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-05-11&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;60&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;46.47&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;32.10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sunday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-11-15&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;23.64&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.78&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-12-27&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;67&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;27.17&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.78&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Saturday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-12-29&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;69&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;18.00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.94&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Monday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2014-04-13&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;75&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;46.68&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;20.79&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sunday&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;linear-model&quot;&gt;Linear Model&lt;/h2&gt;

&lt;p&gt;My final task in this short study was to attempt to create a linear regression model using a number of calendar variables and weather variables.&lt;/p&gt;

&lt;h3 id=&quot;setting-up-input-variables&quot;&gt;Setting Up Input Variables&lt;/h3&gt;

&lt;p&gt;To create this model, I forced the calendar variables to be “factor” variables.  For example, it makes little sense to treat the months as actual integers – the integers denoting the months are stand-ins for the months’ names.  Similarly, because peoples’ schedules do not follow a linear trajectory throughout the day, despite the increasing hours (the activity levels are more sinusoidal), it makes more sense to treat hour variables as individual factors.  Likewise for weekday factors.  I also have holiday factors – either 1 for holiday or 0 for not a holiday.&lt;/p&gt;

&lt;p&gt;For the weather variables, I have temperature &lt;em&gt;and&lt;/em&gt; temperature squared, since the ridership vs. temperature is not a straight linear relationship. I also used humidity (values between 0 and 1.0), and cloud cover (values between 0 and 1.0).&lt;/p&gt;

&lt;h3 id=&quot;model-output&quot;&gt;Model Output&lt;/h3&gt;

&lt;p&gt;Using the above inputs, I created a linear model.  A summary of the linear fit shows the following output.  An interpretation follows in the next section.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-r&quot; data-lang=&quot;r&quot;&gt;&lt;span class=&quot;n&quot;&gt;fol&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;formula&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;num_checkouts&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temperature&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp_sq&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;humidity&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;is_holiday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cloud_cover&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
                        
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Call&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;formula&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fol&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;merged_data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Residuals&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Min&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Median&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Max&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-83.76&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-14.02&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-1.27&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;12.56&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;148.12&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Coefficients&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
              &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Estimate&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Std.&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Pr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;|&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Intercept&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-2.833e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.561e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-11.060&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temperature&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-4.677e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.315e-02&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-8.800&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;temp_sq&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.789e-02&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.025e-04&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;29.698&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;humidity&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-4.332e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.919e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-0.226&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.82141&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.115e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.278e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.872&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.38303&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.045e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.257e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.399&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.64e-10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.036e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.346e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;7.698&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.53e-14&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.819e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.545e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.415&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.02e-05&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month6&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.727e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.778e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.096&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.03612&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-4.154e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.014e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-2.062&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.03921&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month8&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.857e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.892e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.981&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.32639&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month9&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.061e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.752e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.606&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.54460&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.167e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.441e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.101&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.21e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month11&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.439e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.259e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.937&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.05274&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;month12&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.514e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.251e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.809&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.00499&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.448e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.715e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.578&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.75e-06&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.379e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.582e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.570&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.95e-06&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.718e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.500e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.966&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.95e-07&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.542e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.556e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.846&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.10e-12&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday6&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.304e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.545e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.747&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wday7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.487e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.532e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.904&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.736e-01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.766e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.212&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.83249&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.406e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.763e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.797&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.42523&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.405e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.761e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.366&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.17212&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.846e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.770e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.608&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.10784&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;    
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.176e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.764e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.203&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.00e-07&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour6&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.611e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.763e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;14.812&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.521e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.766e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;36.916&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour8&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.601e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.761e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;37.491&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour9&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.927e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.766e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;22.240&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.693e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.777e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;20.783&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour11&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.943e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.790e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;27.623&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour12&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.910e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.805e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;32.739&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour13&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.335e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.815e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;29.388&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour14&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;4.746e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.822e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;26.044&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour15&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.116e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.827e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;28.009&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.745e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.817e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;37.126&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour17&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8.211e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.804e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;45.514&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour18&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5.358e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.795e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;29.849&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour19&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.255e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.781e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;18.272&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour20&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.549e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.768e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;14.412&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour21&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.122e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.767e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;12.012&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour22&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.628e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.766e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;9.218&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2e-16&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hour23&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;       &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.077e+01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.761e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;6.112&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.02e-09&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;is_holiday&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-2.896e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.536e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-1.885&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.05944&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cloud_cover&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-4.018e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1.230e+00&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-3.267&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.00109&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;---&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Signif.&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;codes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;‘&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;***&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;’&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;‘&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;’&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.01&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;‘&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;’&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.05&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;‘&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;’&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;‘&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;’&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Residual&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;standard&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;23.78&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8714&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;degrees&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;freedom&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Multiple&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;squared&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.7382&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Adjusted&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;squared&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0.7368&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;F&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;statistic&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;546&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;45&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;and&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;8714&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DF&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2.2e-16&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;model-findings&quot;&gt;Model Findings&lt;/h3&gt;

&lt;p&gt;I have a few intepretations of the above model:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The R-squared statistic of 0.7382 means that approximately 73.8% of the variation in the hourly ridership can be explained by the chosen variables and model.&lt;/li&gt;
  &lt;li&gt;The residual standard error of 23.78 means that, for each hour, about 2/3 of the time the model will predict total system ridership within plus or minus 23.78 riders.&lt;/li&gt;
  &lt;li&gt;Most of the calendar variables are highly significant predictors:
    &lt;ul&gt;
      &lt;li&gt;All of the hours of the day from 5 AM onward are significant.&lt;/li&gt;
      &lt;li&gt;All days of the week are significant predictors.&lt;/li&gt;
      &lt;li&gt;Roughly half of the months are significant predictors.&lt;/li&gt;
      &lt;li&gt;Holidays are weakly significant predictors.  This isn’t surprising, since holidays aren’t one typical unit.  For instance, there may be lower ridership on “family holidays” such as Christmas and Thanksgiving than there are for holidays where people are more out-and-about, such as July 4th and Memorial Day, no matter the weather conditions.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Some weather variables are significant, others are not:
    &lt;ul&gt;
      &lt;li&gt;Temperature and temperature squared are both highly significant predictors.&lt;/li&gt;
      &lt;li&gt;Humidity is not a significant predictor of ridership.&lt;/li&gt;
      &lt;li&gt;Proportion of cloud cover appears to be a signifant predictor, with a negative slope.  That is, a fully cloudy day will have, on average, 4 few riders per hour than an otherwise identical day that is fully sunny.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;Based on my short study of 2014 Denver B-cycle trip data, I found that we can create a linear model of trip ridership based on several calendar and clock variables merged with basic weather data.  My study focused on total system ridership, on an hourly basis, rather than modeling specific checkout or return kiosks.  Most calendar variables are highly significant when predicting ridership, and weather variables such as temperature and amount of cloud cover appear to be as well. Based on R-squared, approximately 73.8% of the variation in hourly ridership can be explained by the simple model.&lt;/p&gt;

&lt;h3 id=&quot;additional-areas-of-study&quot;&gt;Additional Areas of Study&lt;/h3&gt;

&lt;p&gt;I have many more ideas of ways that we could study this data, which I did not have time for in this particular project.  The following are some of these ideas:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Graph analysis – Which checkout/return kiosk routes most heavily used&lt;/li&gt;
  &lt;li&gt;Kiosk predictive analytics – How to optimize the distribution of bikes at kiosks to make sure there are enough?&lt;/li&gt;
  &lt;li&gt;Find a better method of predicting distances ridden.&lt;/li&gt;
  &lt;li&gt;Trend analysis of ridership over more years than just 2014 – how is the program growing, and can we predict its growth in the near future?&lt;/li&gt;
  &lt;li&gt;Break down hourly data into 15-minute increments for finer-grain resolution of ridership data – do we see a spike just before or just after the top of the hour during commuting times?&lt;/li&gt;
  &lt;li&gt;Use autoregressive weather variables (like “lagged” temperature variables). Perhaps people may be less likely to use a B-cycle today if yesterday was very cold (even if today’s a bit warmer – but perhaps the opposite is true!).&lt;/li&gt;
  &lt;li&gt;Model “interactions” between variables in the linear model.  As it is, the variables are being modeled individually; however, there are likely significant interactions between variables that we should model (for instance, 75 degrees at 10 AM is different than 75 degrees at 9 PM with respect to ridership).&lt;/li&gt;
  &lt;li&gt;Actually use some machine learning techniques to see if we can produce better predictions than the linear model, and test with training/validation/testing sets.  I believe that if we tested some decision-tree methods (such as random forests or gbms), that we could likely get much higher predictive power than the linear model can give us.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;about-this-project-source-code&quot;&gt;About this Project, Source Code&lt;/h2&gt;

&lt;p&gt;I originally completed this project in August 2015 as my final project for University of Washington’s Methods for Data Analysis class, course #2 of 3 in the Data Science Certificate program.  This blog post has only been slightly modified from my assignment submission.  Source code for the analysis, in addition to other project files and data, can be found in my &lt;a href=&quot;https://github.com/tybyers/denver_bcycle&quot;&gt;denver_bcycle repo&lt;/a&gt; on GitHub.&lt;/p&gt;
</description>
        <pubDate>Sun, 21 Feb 2016 21:02:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/02/21/denver-bcycle/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/02/21/denver-bcycle/</guid>
        
        
      </item>
    
      <item>
        <title>Reviewing the UW Data Science Certificate Program</title>
        <description>&lt;p&gt;In December, I completed the third of three courses in the &lt;a href=&quot;http://www.uw.edu&quot;&gt;University of Washington’s&lt;/a&gt; Professional &amp;amp; Continuing Education’s (PCE) &lt;a href=&quot;http://www.pce.uw.edu/certificates/data-science.html&quot;&gt;Certificate in Data Science&lt;/a&gt; program. All courses in this program were 10 weeks long, with 3-hour lectures held once a week. Since I live in Denver, I could not physically attend the meetings, held at the UW campus in Seattle, so I was part of the online cohort. This is my review of the program, and hopefully may be useful for others that are considering the program.&lt;/p&gt;

&lt;h2 id=&quot;why-did-i-enter-the-certificate-program&quot;&gt;Why Did I Enter the Certificate Program?&lt;/h2&gt;

&lt;h3 id=&quot;time-for-a-change&quot;&gt;Time for a Change&lt;/h3&gt;

&lt;p&gt;In early 2014 I decided I had had enough. I had been doing data-related work for the federal government for a little over 8 years, but I was ready for a new challenge. The work was good, but I was tired of the crushing bureaucracy, and feeling like my career was no longer progressing in the direction I desired (someone unfortunately decided that I had a little bit of aptitude for management, and I could feel myself getting pulled in), and was tired of using a 2006 release of MATLAB to do much of my “fun” data work.&lt;/p&gt;

&lt;h3 id=&quot;taking-moocs&quot;&gt;Taking MOOCs&lt;/h3&gt;

&lt;p&gt;So in 2014 I began taking Massive Open Online Courses (MOOCs) in earnest. I knew I loved, and was fairly good at, data analysis and programming, so I began taking courses in the &lt;a href=&quot;https://www.udacity.com/courses/data-science&quot;&gt;Data Science track&lt;/a&gt; at &lt;a href=&quot;https://www.udacity.com/&quot;&gt;Udacity&lt;/a&gt; (this was before their popular Nanodegree programs were developed). By May, I had discovered &lt;a href=&quot;https://www.coursera.org/&quot;&gt;Coursera&lt;/a&gt;, and in June I began the &lt;a href=&quot;https://www.coursera.org/specializations/jhu-data-science&quot;&gt;JHU Data Science Specialization&lt;/a&gt; (I finished that specialization in December 2014). I plan to review some aspects of these MOOCs at a later date, but for now I’ll just mention that these courses were life-changing.&lt;/p&gt;

&lt;h3 id=&quot;uw-certificate-and-application&quot;&gt;UW Certificate and Application&lt;/h3&gt;

&lt;p&gt;In summer 2014, I found out about the UW PCE Data Science certificate. Even though I was taking many MOOCs, I was still unsure if they would actually help me qualify for a job.  I wasn’t getting many hits from recruiters on LinkedIn, and a few applications I chucked over companies’ walls didn’t get any bites. I wasn’t ready for the time and expense of a master’s program in Data Science, so I thought a university professional certificate would be the next-best thing, and maybe help me find some additional contacts to make a job connection.&lt;/p&gt;

&lt;p&gt;So I applied for the program. Since it’s been about a year and a half since I applied, I don’t remember many specifics about the application process, but I believe there was a 25-question test on Data Science knowledge (some SQL and stats are what I remember), I had to submit a resume, a short statement of interest, and about $50 as an application fee. It wasn’t too stressful.&lt;/p&gt;

&lt;h3 id=&quot;accepted-but-new-job&quot;&gt;Accepted, but New Job!&lt;/h3&gt;

&lt;p&gt;I was accepted into the program.  However, there was a waitlist, so I couldn’t start until April 2015.&lt;/p&gt;

&lt;p&gt;By the time April rolled around, I was in talks with a recruiter and had an interview with the company that I now work for.  They wanted me to come and do Machine Learning for them! I was 4 weeks into the first class in the certificate program when I accepted my new job. So, I had a dilemma: I had reached my goal (new job in the private sector), but I had just begun this program that I had waited 7 months to start (and paid a non-refundable $1100+ to attend).  Should I continue?  After some deliberations, I gave in, and decided that the money was a sunk cost, so I might as well learn something.&lt;/p&gt;

&lt;p&gt;Course #1 was good enough that I continued to pay for and take each subsequent course, despite massive internal debate each time (do I need this? should I spend my time/money elsewhere?).  Overall, I mostly enjoyed the remainder of the program and feel accomplished for finishing; however, I’m not sure it was the best investment of my time and money. I learn more, and more quickly, taking most MOOCs, than I did from this program (James Altucher’s &lt;a href=&quot;http://www.jamesaltucher.com/2010/02/dont-send-your-kids-to-college/&quot;&gt;Don’t Send Your Kids to College&lt;/a&gt; post comes to mind). But, I also made several valuable connections with my fellow classmates, far more connections than I made from any MOOC.&lt;/p&gt;

&lt;h2 id=&quot;is-this-program-for-you&quot;&gt;Is This Program for You?&lt;/h2&gt;

&lt;p&gt;Ok, enough about my motivations for taking the certificate program.  Here are some of my positives and negatives for the program, which, if you are a budding Data Scientist and wondering if &lt;em&gt;you&lt;/em&gt; should try for the certificate, might help you to make a decision.&lt;/p&gt;

&lt;h3 id=&quot;what-i-liked-about-the-program&quot;&gt;What I Liked About the Program&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Certificate from a trusted institution&lt;/strong&gt; that is a leader in Data Science and Machine Learning.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Attend courses online&lt;/strong&gt; or in person (if you live in the Seattle area). Nice that they give you the choice, and that even as an online student you can attend “live.”&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Personal feedback from the instructors&lt;/strong&gt; on all assignments (for me it was usually 2-3 lines of feedback). Not sure if this is better or worse than auto-graded or peer-graded assignments on many MOOCs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Courses taught by Data Scientists in industry.&lt;/strong&gt;  My courses were taught by Data Scientists at &lt;a href=&quot;https://www.predixionsoftware.com/&quot;&gt;Prediction Software&lt;/a&gt;, &lt;a href=&quot;http://www.zillow.com&quot;&gt;Zillow&lt;/a&gt;, and &lt;a href=&quot;https://www.microsoft.com&quot;&gt;Microsoft&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Opportunity to talk to and ask questions of the instructors.&lt;/strong&gt; Even online, there is a chat function, and the teaching assistant relays questions to the instructor. It’s nice to get real-time feedback from the instructors.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;The cost:&lt;/strong&gt; I spent around $3400 for the three courses. Much more expensive than a MOOC, but much cheaper than a master’s degree.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Extra learning and reading materials.&lt;/strong&gt;  The instructors all did a great job of finding interesting things to read as part of the weekly assignments.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Making contacts, and a continuous cohort.&lt;/strong&gt; In the first course, there were about 45 students; approximately half were in-class and half online. The instructors set up a &lt;a href=&quot;http://www.linkedin.com&quot;&gt;LinkedIn&lt;/a&gt; group, and most of us connected (the group is closed, so don’t try to find and join it!).  Maybe 20% of the students washed out by the third course, but those students that were most active in the group stayed in and contributed.  It’s been fun watching my classmates get new jobs in analytics over the past few months, and making the connections with them has been valuable.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fairly easy assignments.&lt;/strong&gt; This one can cut both ways – if the assignments weren’t hard, then I didn’t learn much; but, it means I can supplement my learning with other experiences.  On average, I spent 3 hours in class a week, and 2-3 hours on homework.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;what-i-didnt-like-about-the-program&quot;&gt;What I Didn’t Like about the Program&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Mandatory class attendance&lt;/strong&gt; at least 8 of 10 lectures per course.  Attendance is taken.  The class meets at 6PM Pacific Time and runs for 3 hours.  So, since I’m an hour ahead, for me that was 7PM-10PM.  For the first two months, I had to wake up at 5AM for work, so attending these lectures while they were being held could make for a sleepy next day.  Obviously, the further away from Seattle you are, the more difficult it will be to attend the lectures online.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Watching lectures in real-time.&lt;/strong&gt;  When I take MOOCs, I usually speed the videos up to 1.5x to 2.0x the real speed, depending on how fast the speaker talks. This helps me focus better.  With MOOCs, you can also rewind if you miss something. With the live course, obviously you can’t do that until the lecture is posted (usually the next day), and then finding your key moment isn’t trivial.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cannot see the instructor in lectures.&lt;/strong&gt;  Other online courses I’ve taken have a camera trained on the instructor, so you can see them while also looking at slides. UW’s technology, for some reason, doesn’t show the instructor, so you just hear their voice and look at the slides. This makes it much harder to focus if you are an online student, and dilutes the learning a bit, since you can’t see the non-verbal communication.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Continuity between classes&lt;/strong&gt; less than ideal. In courses #2 and #3, there were several times when the instructors asked, “Did you learn &lt;em&gt;this&lt;/em&gt; last course?” It would be good if a more focused curriculum could be nailed down and the instructors passed information to each other better.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Weka for Machine Learning?&lt;/strong&gt; In the second course, we did statistics using &lt;a href=&quot;https://www.rstudio.com/&quot;&gt;R&lt;/a&gt;.  And then, instead of continuing with R in the third course, the instructor taught Machine Learning using &lt;a href=&quot;http://www.cs.waikato.ac.nz/ml/weka/&quot;&gt;Weka&lt;/a&gt;. The good people at the University of Waikato did a good job with the Weka software, but is anyone in industry using Weka any more? I don’t see it for many job advertisements. Fortunately, the instructor knew R well, and accepted assignments in R if we wanted, so that’s how I completed my assignments.  But, he taught much of the course using Weka, which I think is a major missed opportunity and a mistake.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Not enough depth.&lt;/strong&gt; Okay, so Data Science is a very broad subject, growing all the time. UW apparently decided for this program that they would go for breadth rather than depth.  This is &lt;em&gt;probably&lt;/em&gt; a good decision, because there’s only so much you can fit into 90 hours of lecture time, then you send students off to learn on their own, having been at least exposed to new concepts.  But I kept wanting to go deeper and learn more about various subjects we talked about; instead we’d move to the next concept for a slide or two.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;quick-review-of-individual-courses&quot;&gt;Quick Review of Individual Courses&lt;/h2&gt;

&lt;h3 id=&quot;course-1-introduction-to-data-science&quot;&gt;Course 1: Introduction to Data Science&lt;/h3&gt;

&lt;p&gt;The first course was a basic survey of the land of Data Science.  It truly is an introduction, and assumes almost no previous knowledge of Data Science.  We learned about basic data flow through a project, and went through some primers on tools of Data Science (R, Python, SQL, MATLAB/Octave, as well as a little intro to Hadoop).  We had a few homeworks in R, and learned about sparse matrices, and had a SQL homework or two.  The course isn’t very challenging, especially if you’ve had any previous exposure to Data Science, but the lectures were good and the extra readings were helpful.  I give this course a &lt;strong&gt;B-&lt;/strong&gt; – good content and good instructor, but the speed and depth were not what I hoped I paid for.  I almost dropped out of the program after this course, but when it came time to register and hand over my credit card information for Course 2, I went ahead and did it.&lt;/p&gt;

&lt;h3 id=&quot;course-2-methods-for-data-analysis&quot;&gt;Course 2: Methods for Data Analysis&lt;/h3&gt;

&lt;p&gt;Despite the name of this course, this was primarily a statistics and data wrangling course.  I thought this was the best course of the three, and I learned quite a bit about some stats methods I did not know. My running of the course was taught by a Senior Data Scientist at Zillow, an Applied Math PhD who was also a talented teacher.  Unfortunately it looks like future runnings of the course may have a new instructor – TBD as I write this – so hopefully they can find a good replacement.&lt;/p&gt;

&lt;p&gt;All of the homeworks used R.  We had some exposure to doing web scraping with R (yes, you can saw “Ew!” here – Python is far superior for web scraping!), running Monty Hall simulations, doing basic network graph analysis, regression, and creating autoregressive variables, among other statistics concepts. We finished the course with a course project, where we had to find our own data, analyze it, and write a report.  My final project was exploring &lt;a href=&quot;https://github.com/tybyers/denver_bcycle&quot;&gt;Denver B-Cycle 2014 Ridership&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I give this course an &lt;strong&gt;A&lt;/strong&gt;. I found it to be fairly challenging at times, and the homeworks made me think and took a few hours each. I felt this course was worth my money and my time.&lt;/p&gt;

&lt;h3 id=&quot;course-3-deriving-knowledge-from-data-at-scale&quot;&gt;Course 3: Deriving Knowledge from Data at Scale&lt;/h3&gt;

&lt;p&gt;After a good experience with Course 2, I had no problem signing up for the third course.&lt;/p&gt;

&lt;p&gt;This course was kind of, sort of, the &lt;em&gt;Machine Learning&lt;/em&gt; course.&lt;/p&gt;

&lt;p&gt;This course was taught by a long-time Boeing statistician who is currently working as a Principal Data Scientist for Microsoft. He seemed like a very personable guy, making jokes and telling folksy stories for the class.  I wish I could have been at the lectures in person, instead of listening in online, because I could tell he was really interacting with the class and sharing his enthusiasm (he also had a nasty habit of wandering away from the microphone for half a minute at a time).&lt;/p&gt;

&lt;p&gt;However, I was rather disappointed in this course as a follow-up to the second course.  By now, we had spent probably 3 months doing work in R, for the first and second course combined, so it would have made sense to teach machine learning concepts and assign homeworks in R.  Instead, as I mentioned in my gripe list, we used Weka.  Sure, Weka has a nice-looking GUI, but I didn’t want to learn a new software that I guarantee I will not use in the future (sorry, but R, Python, and Spark Machine Learning packages will be much more useful). Fortunately, the instructor allowed us to turn in our homeworks in R.  But I became so frustrated with the course that I tuned in to the lectures, in order to get my attendance, and then left my computer running while I went to do something else.&lt;/p&gt;

&lt;p&gt;The final project for this course was to participate in a &lt;a href=&quot;http://www.kaggle.com&quot;&gt;Kaggle&lt;/a&gt; competition.  The focus was only a little bit on the competition – it was more about documenting our process, from understanding exploring the data, to modeling, to writing up our results. The instructor asked us to pair up.  This is another very difficult thing to do as an online student. I initially found a couple guys to form a team; however, we were all in different time zones, and given family responsibilities it was difficult to meet up at night, so I eventually said “sorry guys, I’m going it alone.”  Each team in the class chose a current Kaggle competition that looked interesting to them, so we collectively worked on about 8 different projects, instead of competing against each other, like in the &lt;a href=&quot;https://www.kaggle.com/c/15-071x-the-analytics-edge-competition-spring-2015&quot;&gt;edX Analytics Edge&lt;/a&gt; course.  I settled on the &lt;a href=&quot;https://www.kaggle.com/c/how-much-did-it-rain-ii&quot;&gt;How Much Did It Rain? II&lt;/a&gt; competition; if interested you can see my project writeup in my &lt;a href=&quot;https://github.com/tybyers/kaggle_howmuchdiditrain&quot;&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I give this course a &lt;strong&gt;C-&lt;/strong&gt;.  There was good information, and the instructor was interesting, but the choice of Weka boggled my mind, and the course organization was a bit poor (students were often confused by due dates).&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;Overall, I give this certificate program a grade of &lt;strong&gt;B-&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I would recommend it for people who can attend in person, for those with good tech/math/stats skills who have not been exposed to Data Science, but are really curious and want to learn, and for those who like a very well-structured learning environment.  I also would recommend it if you are interested in growing your professional network of like-minded individuals (especially those in the Seattle area).  I’ve heard that people in the courses network and have helped each other find jobs.  Maybe that happened in my cohort(?), but it’s hard to tell as an online student.&lt;/p&gt;

&lt;p&gt;I don’t recommend it if you’ve taken, or are comfortable taking, MOOCs in Data Science and/or Machine Learning (Coursera, Udacity, edX, etc), or perhaps are willing to slog through the &lt;a href=&quot;http://datasciencemasters.org/&quot;&gt;Open Source Data Science Masters&lt;/a&gt; list, or have been working in a Data Science capacity for any length of time.  For my money and my time, courses on the MOOC sites were much more valuable.  Don’t expect to finish these three courses and come out a Data Scientist on the other side – this barely scratches the surface (although it could be a good place to start!).&lt;/p&gt;

&lt;p&gt;If you have any additional questions, please ask them in the comments below!  Also, if any of my fellow students care to share their experiences in the comments, that would also be appreciated!  I am but one voice; anyone else trying to decide for themselves whether this is a good program for them would be wise to listen to more than just me!&lt;/p&gt;
</description>
        <pubDate>Tue, 19 Jan 2016 11:26:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/01/19/uw-data-science-cert-review/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/01/19/uw-data-science-cert-review/</guid>
        
        
      </item>
    
      <item>
        <title>Hello World!</title>
        <description>&lt;p&gt;Just as the &lt;a href=&quot;https://en.wikipedia.org/wiki/%22Hello,_World!%22_program&quot;&gt;Hello World program&lt;/a&gt; is meant to introduce programmers to the basics of a new-to-the-noob programming language, this post is a break-the-ice post for me on my new blog.  I’ve thought about doing a blog for a long time. But, there’s a lot of inertia to overcome when starting almost anything, and writing a blog is no different. I’m not usually described as lazy, but there was always a different MOOC to take, or LinkedIn post to read, or &lt;a href=&quot;http://www.denverbroncos.com/&quot;&gt;Denver Broncos&lt;/a&gt; game to watch, or one of my kids to chase. And sleep is important too – I am not one of those people who functions well when I’m low on sleep!&lt;/p&gt;

&lt;p&gt;But, I keep feeling like I should make the effort, even if it’s only occasionally.  &lt;a href=&quot;http://had.co.nz/&quot;&gt;Hadley Wickham&lt;/a&gt;, who has done so much to make &lt;a href=&quot;https://www.r-project.org/&quot;&gt;R&lt;/a&gt; a bona-fide practical, useful, and (dare I say) beautiful language for Data Science, said something in his &lt;a href=&quot;https://www.reddit.com/r/dataisbeautiful/comments/3mp9r7/im_hadley_wickham_chief_scientist_at_rstudio_and/cvhl63u&quot;&gt;Reddit discussion&lt;/a&gt; that I haven’t forgotten:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If you want to give back, I think writing a blog is a great way. Many of the things that you struggle with will be common problems. Think about how to solve them well and describe your solution to others.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When it came time for me to start a blog at work, I found it was fairly simple to set up a &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll-powered&lt;/a&gt; blog on our Enterprise GitHub account (sorry, due to the proprietary nature of the work on that blog I will not be sharing it with the world).  So I’ve taken some of that learning and set up this blog.  But I owe many thanks to others who came before me and explained how they set up their Jekyll blogs, or created the templates:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Joshua Lande: &lt;a href=&quot;http://joshualande.com/jekyll-github-pages-poole/&quot;&gt;http://joshualande.com/jekyll-github-pages-poole/&lt;/a&gt;.  A great resource for learning how to set up a blog like this.&lt;/li&gt;
  &lt;li&gt;Ragu Papa: &lt;a href=&quot;http://ragupappu.com/2015/04/22/setup-website-using-github-pages-and-jekyll/&quot;&gt;http://ragupappu.com/2015/04/22/setup-website-using-github-pages-and-jekyll/&lt;/a&gt; . Has several links for improvements made to the theme.&lt;/li&gt;
  &lt;li&gt;Mark Otto for developing the Poole/Lanyon theme: &lt;a href=&quot;http://lanyon.getpoole.com/&quot;&gt;http://lanyon.getpoole.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back to Hadley’s comment, this blog will by my attempt to “give back” when I have time and when inspiration strikes. I hope I can be even a little bit helpful to someone out there.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
        <pubDate>Fri, 15 Jan 2016 03:53:00 +0000</pubDate>
        <link>http://datawrangl.com/2016/01/15/hello-world/</link>
        <guid isPermaLink="true">http://datawrangl.com/2016/01/15/hello-world/</guid>
        
        
      </item>
    
  </channel>
</rss>
