This article aims to explain the (theoretical) importance of behavioral modelling.
Warning: the data and results shown in this article is artificially generated for the theoretical demonstration. They can never be related to anything realistic.
Suppose a lunch delivery agency. It has a set of data that describe 1) who ordered 2) how many of 3) what kinds of food. For example,
user menu quantity
0001 Italian 3
0002 Chinese 4
0001 Korean 2
0002 Italian 5
Someone (from upstairs) wants to know what is the individual preference for each user. Interpreted as, predict the menu at quantity 1 for each user.
Without any kinds of modelling, a behavioral one or not, the data still can be fitted and predicted. However, to add some social scientific reality, let's assume the following:
Network conformity characteristic
- Indicates how much a person wants to follow the group's norm
- A person with low network conformity will insisit that she must eat something she wants
- A person with high conformity will say something like "I will eat whatever you guys want to eat"
- Network conformity is uniformly distributed among users
How the menu is chosen
- Randomly generate a dining group (power law distribution)
- In the group, the person has the lowest network conformity insist that she must choose the menu
- The dice rolls (0.0~1.0, which represents fierce discussions) and if it is higher than her network conformity, she chooses the menu
- If fails, the person with the next lowest network conformity insist that she must choose the menu
- repeat until the menu is decided
- someone orders the lunch
What I want to show is that without the estimation of network conformity, the data contains too much noises (other person's decisions). If naively fitted, it should yield baised predictions. To correct this, first the individual network conformity should be estimated by variance / diversity of menu, next drop the observations with large group size and high network conformity.
Therefore we have three models:
1. Naive fitting, using all the data
2. Estimate ind. network conformity from menu diversity, ignore some data accordingly, then fit
3. Already knows ind. network conformity, ignore some data accordingly (god mode)
Some very specific results:
Naive fitting : 69% accuracy
Estimation : 76% accuracy
God mode : 88% accuracy
Again, this experiment is massively tweaked to show the largest performance difference so do not take this "network conformity" as a general power tool in behavioral modelling.
Source codes:
Github Link