Forensic Accounting: Cohort Analysis

This is part four in a series on applying forensic accounting techniques to SQL and R. Mr. Keynes' Aggregates Conceal the Most Fundamental Mechanisms of Change In the last post, we focused on high-level aggregates to gain a basic understanding of our data. We saw some suspicious results but couldn't say much more than "This…

Forensic Accounting: Introduction and Case Study

This is part one in a series on applying forensic accounting techniques to SQL and R. Necessary Disclaimers Before I get started, I have some disclaimers I need to get out of the way. I am not a CPA. My wife is a CPA but I'm the one writing this so you get my interpretation,…

Course Reviews: Writing Functions in R

This is a review of Hadley and Charlotte Wickham's DataCamp course entitled Writing Functions in R. Wickham and Wickham (borther and sister) do a great job of introducing some of the concepts of functional programming in R. The first chapter is a refresher on some of the basic program structures in R. From there, they…

Solving Naive Bayes With R

This is part four in a series on classification with Naive Bayes. Classification Of Features With R So far, we've walked through the Naive Bayes class of algorithms by hand, learning the details of how it works. Now that we have a good understanding of the mechanics at that level, let's let the computer do…

R Training In Redmond

I had to wait until this was official, but the long wait is over: I am giving my full-day R training in Redmond, Washington on Friday, February 8th. Tickets are priced at $125 for a jam-packed day full of learning and excitement and a little bit of snark hosted on Microsoft's Redmond campus. Course Description…

Solving Naive Bayes By Hand

This is part two in a series on classification with Naive Bayes. Learning Naive Bayes Through Repeated Interceptions On the whole, the Naive Bayes class of algorithms tends to be pretty easy to understand, which is a part of that class's popularity. So let's see how easy it really is by solving a problem with…