When I learn a new statistical technique, one of first things I do is to understand the limitations of the technique. This blog post shares some thoughts on modeling finite mixture models with the FMM procedure. What is a reasonable task for FMM? When are you asking too much? I
Uncategorized
Halloween is around the corner and children everywhere will wear masks throughout their neighborhoods for a night of trick-or-treating fun and, likely, too much candy. A masking has also occurred in education policy with the No Child Left Behind Act, sans the candy at the end of the night. That
Two weeks ago I had the pleasure of reading Tom Wallace's new book, Sales & Operations Planning: Beyond the Basics. This is not an introductory "how to" book -- Tom and Bob Stahl have already written those -- but instead covers nine major companies that have implemented (and extended!) S&OP
Normal, Poisson, exponential—these and other "named" distributions are used daily by statisticians for modeling and analysis. There are four operations that are used often when you work with statistical distributions. In SAS software, the operations are available by using the following four functions, which are essential for every statistical programmer
Functionality to upload files onto the SAS server (from 9.2 on) is available using stored processes and an html input type="file". I introduced this topic last year in my blog post using the SAS Stored Process Developer Guide sample. Of course, it is never as easy as the sample is
I received the following email: Dear Dr. Wicklin, Why doesn't SYMPUT work in IML? In the DATA step, I can say CALL SYMPUT("MyMacro", 5) but this doesn't work in IML! Frustrated Dear Frustrated, The SYMPUT subroutine does work in SAS/IML software! However, the second argument to SYMPUT must be a
I previously wrote about using SAS/IML for nonlinear optimization, and demonstrated optimization by maximizing a likelihood function. Many well-known optimization algorithms require derivative information during the optimization, including the conjugate gradient method (implemented in the NLPCG subroutine) and the Newton-Raphson method (implemented in the NLPNRA method). You should specify analytic
Picture this – a student grabs the Programming 1 textbook, scans it quickly seemingly searching for something specific, and shakes his head indicating an unsuccessful search. He plants himself smack dab in the front row, looks me squarely in the eye, raises one eyebrow quizzically and says, “Bad words?” I
A popular use of SAS/IML software is to optimize functions of several variables. One statistical application of optimization is estimating parameters that optimize the maximum likelihood function. This post gives a simple example for maximum likelihood estimation (MLE): fitting a parametric density estimate to data. Which density curve fits the
What is the best way to organize your SAS work in a SAS Enterprise Guide project? There are no project templates or enforced structure, really, but isn't there a best practice? I don't have a single prescription for the best project organization. I believe that it depends on the nature
To celebrate the first anniversary of Statistical Programming with SAS/IML Software, you can now download the SAS/IML tip sheets (also called "cheat sheets") that I created for the book. At conferences, SAS Press displays these tip sheets next to my book. They have been very popular. Download these SAS/IML cheat
I've noticed that a lot of people want to be able to draw bar charts with confidence intervals. This topic is a frequent posting on the SAS/GRAPH and ODS Graphics Discussion Forum and on the SAS-L mailing list. Consequently, this post describes how to add errors bars to a bar
With an increasing volume of curriculum to cover and no time to spare, teachers often hit the ground running with the full throttle rigor and relevance critical to teaching and learning. However, I argue that the first two R’s are futile if teachers don’t have meaningful relationships with their students.
It turns out that I'm not receiving the maximum potential value from my Netflix streaming service. Perhaps it's because I place too much value on sleep. With my monthly subscription, I am permitted to view Netflix content 24 hours a day, 7 days a week. In my house I have
When you misspell a word on your mobile device or in a word-processing program, the software might "autocorrect" your mistake. This can lead to some funny mistakes, such as the following: I hate Twitter's autocorrect, although changing "extreme couponing" to "extreme coupling" did make THAT tweet more interesting. [@AnnMariaStat] When
SAS has several ways to round a number to an integer. You can round a number up, round it down, or round it to the nearest integer. If your data contain both positive and negative values, you can also round numbers toward zero, or away from zero. The functions that
Birds migrate south in the fall. Squirrels gather nuts. Humans also have behavioral rituals in the autumn. I change the batteries in my smoke detectors, I switch my clocks back to daylight standard time, and I turn the mattress on my bed. The first two are relatively easy. There's even
Webinar October 4, 1:10 pm ET: What is Your Product Forecastability??? Thanks to Rich Gendon and the Chicago APICS chapter for hosting me last week at their professional development dinner meeting. I always enjoy evening speaking gigs, as they provide a chance to break out some of my nightclub-worthy material.
I previously wrote about an intriguing math puzzle that involves 5-digit numbers with certain properties. This post presents my solution in the SAS/IML language. It is easy to generate all 5-digit perfect squares, but the remainder of the problem involves looking at the digits of the squares. For this reason,
Filed under "Little changes that you probably didn't notice". When Microsoft introduced Windows 7 to the desktop, one of the many usability features that they added were "Jump Lists". Jump Lists serve as a sort of shortcut to not just open an application, but "jump right in" to a particular
A few sharp-eyed readers questioned the validity of a technique that I used to demonstrate two ways to solve linear systems of equations. I generated a random n x n matrix and then proceeded to invert it, seemingly without worrying about whether the matrix even has an inverse! I responded to the
Private sector vendors/suppliers seeking to conduct business with government often find frustration with the maze of policy and legislative hurdles encountered during the procurement process. As difficult as the experience may have been from the private sector perspective, take a moment to look at the other side of the procurement
I was intrigued by a math puzzle posted to the SAS Discussion Forum (from New Scientist magazine). The problem is repeated below, but I have added numbers in brackets because I am going to comment on each clue: [1] I have written down three different 5-digit perfect squares, which [2]
Today, I came across this article that discusses how software users rarely change the settings in the applications that they use. Users assume that the software vendor sets the default values as they are for a reason, and who are they to set them otherwise? I'm a software developer (and
I showed a SAS/IML customer a debugging tip, and she said that I should blog about it because she had never seen it before. The tip is very simple: inside of a DO loop, use the MOD function to selectively print the values of variables. Recall that the expression MOD(a,b)
One of of my favorite reviewer quotes about Michele Burlew's book SAS Macro Programming Made Easy, Second Edition is" [ It ] helps eliminate the 'fear factor' often associated with using macros, while offering valuable insight to programmers with a broad range of experience." --Suson vonLehmden, RTI International I've worked with Michele Burlew
Over my 32 year career in local government as a city and county manager I was faced with many difficult decisions during budget deliberations. Setting tax and utility rates, adding head count, determining compensation and benefits, calculating the appropriate mix of debt and cash for funding capital projects…these were all
In my previous post, I blogged about how to sample from a finite mixture distribution. I showed how to simulate variables from populations that are composed of two or more subpopulations. Modeling a response variable as a mixture distribution is an active area of statistics, as judged by many talks
SAS programming is taught in schools all over the world, including in high schools. Occasionally, I receive questions via my blog such as this one: Can somebody help me on this? Write a short DATA _NULL_ step to determine the largest integer you can store on your computer in 3,
Sometimes a population of individuals is modeled as a combination of subpopulations. For example, if you want to model the heights of individuals, you might first model the heights of males and females separately. The height of the population can then be modeled as a combination of the male and