Aug 2, 2010
Detecting influenza outbreaks by analyzing Twitter messages
http://arxiv.org/abs/1007.4748
Summary =======
This paper examines the correlation between flu-related tweets and the actual flu trends (reported by the US centers for disease control and prevention, CDC). The author borrows the methodology used in Google's Nature paper on flu tracking (Ginsberg et al. 2009) and uses the log-odds to measure the correlation between two variables: (a) the fraction of population that have flu over several weeks, reported by CDC, and (b) the fraction of tweets that contain flu related keywords.
Findings =======
(1) Similar to the Google's Nature paper, the accuracy in prediction is pretty high---around 95%. (Google paper, based on google search keywords, reported 97% accuracy.)
(2) What is new in this work is that it investigates the need to prune out spurious words like 'swine', 'h1n1', 'vaccine', and 'http'. Tweets containing spurious words likely contain information about the flu passing, but not flu symptoms. However, removing spurious words didn't always increase the accuracy in the prediction of flu trends.
(3) Hence, the author tried out further with two different supervised learning methods to see if spurious words could be removed in a smart way. The answer is partly yes, based on one of the classification methods used.
My thoughts =======
The paper made me think about what sorts of research we are pursuing on the field of data-driven social science. Application-driven research usually has a clear goal, but it always leaves me the feeling of wanting to know more about the data.
(1) Higher accuracy really needed? After reading the first part of the paper, I was less convinced why the author went after increasing the accuracy in prediction. 95% accuracy seems high enough to be used in a surveillance system.
(2) What's next? Maybe to look at social network topology or geography? The frequency of words is one interesting statistic someone can draw from data. But the data has so much more to tell. How are the users connected -- are users who talk about flu symptoms connected? Or are they located nearby in geography?
PS: I am limiting comments only to the members of this blog, as I started getting too many spams.
Apr 27, 2010
The fragility of interdependency
The paper is about surprising characteristics of a failure on two mutually dependent networks. While most existing studies on network robustness have focused on a single network, this doesn't mean that most real networks are independent of each other. Real networks are often mutually dependent, like the power network and the Internet described in the paper. A router cannot function if a nearby power station is out; a power station cannot function if it is disconnected (i.e., if Internet fails). Logical networks like those of financial and political networks are also mutually dependent. Some networks even share the same entities; we belong to multiple social networks like Facebook and Twitter. And when networks are mutually dependent, a single local failure could trigger a disruptive avalanche of cascading and escalating failures.
Here are three surprising results from the paper:
(Summarized well in Vespignani's article)
1. Networks exhibit a critical threshold value for the fraction of nodes that can be removed above which the network becomes totally fragmented (i.e., the size of the giant component becomes 0). Compared to a single independent network, mutually dependent networks have a much smaller threshold value. This means that mutually dependent networks could collapse at a smaller level of damage.
2. In independent networks, increasing random failures will gradually harm the integrity of the network. However, in mutually dependent networks, increasing random failures lead to abrupt collapse of the network as shown in the graph below. G means the fraction of nodes that belong to the giant connected component. Failures in mutually dependent networks cause a step-like first-order jump around q_c.
3. In independent networks, heavy-tailed degree distributions have been proven to add great robustness under random failures. Power-law graphs are known more robust to random failures than Erdos-Renyi random graphs. This, however, is also not true in mutually dependent networks. Power-law graphs are more fragile when they are mutually connected. The broader the degree distribution is, the more fragile the networks are.
Jan 12, 2010
A Nature paper on human insurgency
by Bohorquez, Gourley, Dixon, Spagat, and Johnson
(CEIBA complex systems research center in Columbia, etc)
The paper presents an empirical data analysis of 9 major insurgencies, consisting of 54,679 events worldwide. The paper centers around the theme of finding a common factor across different insurgent conflicts and proposes a model of conflict organization, which treats insurgent population as an ecology of dynamically evolving, decision-making groups. Although groups are heterogeneous in terms of their strategies, they tend to converge towards similar response when fed the same information.
Finding (a) Insurgent conflicts have different characteristics from the traditional wars: their scaling factor is around 2.5 and typically show a power-law trend (rejects log-normality), while traditional wars cannot reject log-normality and show a smaller scaling factor. The implication of this scaling factor (2.5) is at its robustness. (It's hard to fragment such insurgent group.)
Finding (b) Burstiness in terms of the number of events per day shows abundance of heavy and light days, or conversely, lack of 'medium' days. The implication of this burstiness is at maximizing the media attention. (Modern insurgent conflicts are not about killing others, but about media show. It's better to attack on a quiet day)
Model assumes two mechanisms: (a) on-going group dynamics within the insurgent population (coalescence and fragmentation of members to different groups over time) (b) group decision making about when to attack
Personal note: I read this paper twice. At first, the model seemed too simple and I wasn't really impressed by the work. Given the general theme of the paper, I expected there to be lots of sophisticated ideas and theories that people have looked at. The model in the paper, however, was extremely simple. After a second read, I starting seeing how a simple model could link together many different empirical patterns the paper showed (e.g., why insurgencies occur around a scaling factor of 2.5, why the distribution of Columbian and Afghanistan insurgencies have different tail shapes.)
Among the tricks I've learned from the paper, I liked the frequency distribution of real wars against random wars. 10,000 random wars were generated such that dates of the events were shuffled and the average frequency was taken across the samples. Authors then compare the frequency distribution of actual data with this randomly shuffled wars. I also liked the link between this work and the same patterns shown in financial data (how people herd around different stock items each day) -- it might really show a crucial link between violent and non-violent forms of human behavior.
Now moving forward, how could we utilize the result of this work to other social network data like Twitter? Insurgency, rallies, and demonstration -- all seem difficult in terms of parsing data. But if we can do anything, what would I want to look at? Adopting methodology is an obvious way, but could we do something cooler?
Jan 11, 2010
Decentralized Search Algorithms
Erdos-Renyi (1959) random graph G(n,p) connects two pairs of nodes with a probability p=c/n where c is a constant. It has two important properties: (a) when c is less than 1, composed of small components all of which have O(logn) (b) when c is greater than 1, a.a.s. (asymptotically almost surely), a unique giant component containing theta(n) nodes appears, which is called the phase transition.
Stanley Milgram's 6-degree separation states that not only there exist a short path in a society, it is possible for individuals to find such a path using only local information.
Small world networks by Watts and Strongatz uses grids (to guarantee clusters) and makes short cuts in the network uniformly random. This leads to preserving small-world properties (i.e., short distance and high clustering). The prevailing need for this model is that Erdos-Renyi random graph does not support the notion of clusters.
Extended model by Kleinberg is a variant of the small-world model. Rather than making shortcuts that are uniformly random, Kleinberg assumes shortcuts follow a particular distance distribution, rho(v,w)^-alpha, and showed that (a) alpha=2, decentralized algorithm exists that is of O(log^2 n). (b) Otherwise, there does not exist any poly-logarithmic decentralized algorithm.
Further readings:
1. J. Kleinberg. Navigation in a Small World. Nature 406(2000), 845.
2. J. Kleinberg. Complex Networks and Decentralized Search Algorithms. Proceedings of the International Congress of Mathematicians (ICM), 2006.
Winter School on Algorithms and Combinatorics
(1) Talk by Heekap Ahn (Postech) on Voronoi Diagram
Computational efficiency assumes that basic operations (+,-,*,assign,etc) take constant time O(1) and tries to count, given an input size n, how many basic operations is needed.
Convex hull is a set S of points in the plane that is the smallest convex set containing S: A naive algorithm will incur n^3 (n^2 to pick two points and see if it's at the edge) , but a smart algorithm will scan the network in clockwise direction (called the plane sweeping technique) and solve in nlogn (sort by x-axis) + 2n (clockwise step)
Line segment intersection has the worst case of n^2, but an output-sensitive algorithm (relative to the number of intersection) runs in (2n*2+2k)*logn = nlogn + klogn
(2) Talk by Kyomin Jung (KAIST) on NP-Completeness
Interesting observation about how our brains do arithmetics: We remember the addition of two numbers between 0-9, like a turing machine storing 10^2 combinations!, then extends this knowledge to do more complicated calculations. Turing machine is a device with a finite amount of read-only "hard" memory (states) and an unbounded amount of read/write tape-memory. 변하지 않는 부분의 메모리 (하드웨어) + 연습장 (소프트웨어)
Notes on P and NP: (a) P is the set of problems that can be solved in polynomial time, given an input size n (b) NP is the set of problems that can be *verified* in polynomial time, Given candidate solutions, one can verify whether a solution is right or wrong in P time (c) P is a subset of NP (d) The question of P=NP is related to the meaning of intelligence. (Let's say you've solved NP. If P=NP, then there might not be intelligence in the brain that solved it) (e) Cryptography relies on P!=NP. Public keys are given out, but the combinations to generate a public key is practically hard to get. (f) Unless we know P=NP, it is important to develop approximation algorithms!
If P (HP) reduces in polynomial time to Q (TSP), then P is no harder to solve than Q. (a) NP-hard: if all problems all R\in NP are reducible to P, then P is NP-hard; NP중에서 가장 어려운 것 (b) NP-complete: if P is NP-hard and P\in NP, P is NP-complete (NP중에서 가장 쉬울 수 있다) (c) Cook-Levin theorem: the first real case of NP-complete
Combinatorial optimization, max cut, underlying assumption is again P!=NP: (a) rho (ALGO, G) : given a graph G, how efficient is algorithm ALGO? (b) rho (ALGO) = min_G ( rho(ALGO, G) ): given any G instances, what is the best algorithm to solve a problem? (c) rho (maxcut) = max_algo ( rho(algo) ): how hard is the problem itself?
PTAS (polynomial time approximation scheme): 1+/-e of the optimal
FPTAS (fully PTAST)
(3) Talk by Jinwoo Shin (MIT) on Metropolis-Hastings Rule
Suppose we only know local information, how could you sample users uniformly random? This problem is to find random walk without bias. (a) Uniformly random property is p_ij = p_ji (b) Adding a self loop can fix this easily, but could be prone to even-odd number oscillations. (c) A seminar work: Metropolis-Hastings rule since 1950s
(4) Talk by Sang-il Oum (KAIST) on Parameterized Complexity
Concepts: (a) Vertex cover : a set of vertices meeting all edges (b) vertex cover problem (G, k): does G have a vertex cover of size <= k? (c) Minor of a graph: a graph that could be obtained by contracting nodes or deleting nodes or edges
FTP (fixed parameter tractable): a problem with a parametr k is FPT if it can be answered in time O(f(k) n^c) for a computable function f and a fixed c. that is exponential on a fixed parameter k, but not in the input size n. Rod Downey & Michael Fellows
Kernelization: A decidable problem is FTP if and only if it has a kernel
문제가 input 사이즈와 상관없이 사이즈 k에 대해 변형될 수있을때
Main definition: The crossing number, denoted by cr(G), of a graph G is the least possible number of pairs of crossing edges in a graph of G. (a) Finding the crossing number is NP-hard. (b) There exist efficient algorithms to find crossing number of smaller than k; that is the problem is fixed parameter tractable.
(6) Talk by Kyomin Jung on Randomized Algorithms
Define a turing machine that can through a binary random coin, called a probabilistic turing machine. (a) What is good about it? Smoothes the "worst case input distribution" into "randomness of algorithm." (b) Law of large number property means that independent random samplings lead to an average that is close to the expectation, e.g., Erdos-Renyi random graph G(n,p) (when does a giant component appears?), voting poll (how to find good sample for a poll?).
Chernoff Bound: (a) Suppose we have a coin with a probability of a head p, then the expected number of heads is 1*p + 0*(1-p) = p. (b) After flipping a coin m times, the error rate is <= exp ( - lamda^2*m
) where lambda is an error. (c) Las Vegas algorithm is a randomized algorithm that always gives correct answer. (d) Monte Carlo algorithm has deterministic running time, but its output could be correct with a certain probability.
BPP (bounded-error, probabilistic, polynomial time): the set of problems that have Monte Carolo algorithms. (a) Is BPP=P (deterministic language)? (b) Pseudo-random generator (PRG) picks a random number not purely random, but is very hard to determine its randomness in polynomial time.
Randomized min cut algorithm by David Karger: Repeat until |V|<=2, pick a random edge and contract the edge. The two remaining nodes represent the cut points.
Aug 28, 2009
Iran election in Twitter

Aug 12, 2009
The 1st International Workshop on Mining Social Media
Mining Social Media (MSM'09)
Paper submission deadline: September 6th
Venue: November 9th, 2009 Seville, Spain
Jun 26, 2009
Timely research
Jun 17, 2009
Twitter FAQ
May 20, 2009
ICWSM'09 note - day three
Leveraging Diversity
- Ideas embracing diversity in opinions getting popular: Sidelines, Google moderator
- Goal is to project an accurate proportion of users supporting different opinions. let users get an exposure to challenges or new ideas.
- Quick Q: do people really like diversity?
- Similar work on news media bias "NewsCube" (CHI'09). This work looks at content to aggregate similar news and project different themes news articles. Sidelines paper simply looks at voting counts.
- "Diversity in user activity and content quality in online communities" by Tad Hogg. How many activities does a user do per day?
- Users with very little online time or little activity harder to model (i.e., difficulty of modeling in a heavy-tail distribution).
- Visibility (or exposure) is the key mechanism by which information spreads? (whether exposed by friends or by serendipitous browsing). Visibility and interest are different. (look paper)
- Check out Lada Adamic's write-up on social networks at HP labs.
"Unlike viruses, which spread indiscriminately from host to host, pieces of information are propagated by people who find them interesting and who pass the information to others who they think may be interested. Since people are most similar to their immediate contacts, and this similarity decays as the distance in the social network between individuals increases, information becomes less relevant further away from the source and is unlikely to spread throughout the network. This holds true even in networks with power-law connectivity distributions where highly connected individuals, known as hubs, have the opportunity to potentially spread information to a large number of people. " (See paper)
- Spetrum: retrieving different points of view from the blogosphere.
- Meta search engine for blogs. Would be nice to see memes in the search results. Predicting bloggers' interests in realtime difficult.
- Blog directory (blog category, blogging fusion, yahoo! directory) - Do these sites really work? Blogs are ephemeral.
May 19, 2009
Duncan Watts keynote speech at ICWSM
- Work with Gueorgi Kossinets
- Social network changes over time. Averages about network structure (e.g., path length, clustering coefficient, node degree) stay rather steady over time, but individual quantities (e.g., rank) change rapidly.
- What does this mean in terms of social applications?
(2) macro-sociological experiment on social influence
- Music lab experiment -- very cute idea.
- People do get influenced by others. However, the top favorites in the social influence world also did well in the independent world. (Same trend for the bottom ones in the popularity distribution. Lots of noise in medium hot content)
(3) network survey on facebook
- Launched "Friend Sense" app on Facebook and asked political preferences of users and their friends.
(4) influence of financial rewards on performance
- Crowd sourcing site Amazon's Mechanical Turk (AMT) is a fantastic place to launch quick and inexpensive social science studies.
- Increased pay resulted in more work, but not increased accuracy in work. People always feel they are underpaid---the anchoring effect in psychology
(5) final remarks
- We moved from having too little data to having too much data.
- Facebook's 200+M users don't fit on a single memory for us to analyze!
- Having one more zero in your dataset (huge-data) doesn't mean that you're asking big questions. It's more important to ask important questions and set up experiment that can answer the question.
- Lada Adamic's recent work on diffusion of gesture on second life
- Duncan said, "You might ask why are we even asking this obvious question. After many years of being a sociologist, nothing is obvious!"
ICWSM'09 note - day two
- Cameron Marlow@Facebook: Look at data to do informed design
- Q: How do users find information on site? Are social links actively used? What about search?
- Slideshare A: We do see clicks from social networking sites, but most requests come from Google. So we put a lot of efforts and make sure our slides are easily searchable in Google. Front page is also important -- but that's more of a setting a tone about the site. (identity). We do lots of editorials in the front page.
- Facebook A: news feed is definitely the most important. This is a huge optimization problem. Facebook provides two feeds: live feed, highlights.
Modeling Social Dynamics
- Interesting paper "Stochastic models of user-contributory web sites" does modeling in social sites, similar to the famous Huberman et al. Science paper from 1998.
- One thought. Modeling is based on visible data. How would a model of user behavior change if we were to consider both visible and invisible activity? (e.g., browsing takes up most of our online time!)
- Prediction of content popularity based on early data possible--we've seen the same trend in YouTube. Is this a general trend in any massive content system?
- Flickr and YouTube are not about social relationship, but ultimately about information sharing. See evidence: paper "Personal Information Management vs. Resource Sharing"
- Social dimension (Shneiderman 2002): People search for other people's content on Flickr and YouTube. vs. People search for their own content on Delicious and Connotea. So is the purpose of tagging.
- Social computing & sustainability of sites: it's important to understand what, where, and why people share.
- Interesting paper by Nov et al.
- Motivation for sharing, two axes: self or others, intrinsic or extrinsic. All four combinations have positive loop to user behavior.
- This reminds me of comment from a director at Big Brothers. He said people post videos in YouTube, because they want to be the Steven Spielberg on the web.
May 18, 2009
ICWSM'09 note - day one
Tutorial: Psychology of Social Media
This was a 2-hour long tutorial at ICWSM'09, delivered by Sam Gosling (UT Austin) and Kate Niederhoffer (Nielsen Online). It was refreshing to listen to people in different fields who look at the very same problems (audience span psychologists, sociologists, computer scientists, wall street analysts). Sharing my note below.
1. Social media (like Facebook, Twitter) is serving some psychological needs. What?
- Everybody spends their day by doing something. What do they do and what does that tell us about the person?
- Psychologist Maslow says everyone has his own "hierarchy of human needs". This means that we all have our own set of priority in the action set.
2. Fundamental social needs of people: People want to (1) get along and (2) get ahead.
- Get along meaning, socialize. Get ahead meaning, step up in the social hierarchy level. How could this be projected in social media?
- What do our friends tell us about us? In a lab test, people with low self-esteem wanted to hang out with those who gave negative feedback, against those who gave positive feedback. Homophily?
3. People want to be seen accurately, than being projected more positively than they actually are.
- Sam looked at webpages of people, contacted the webpage owners, interviewed them and asked what person they'd like to be, asked their friends what the person is like, and found the projection is rather accurate.
- Would this hold in Facebook too?
4. What are identity claims?
- This mean the things about you that is deliberately chosen for other people. Examples are t-shirts that you wear, bumper sticker, webpage, pictures you hang in your room, etc.
- Music is not an identity claim. It's a tone-setter. It is typically chosen to set our mood in a particular way. You listen to upbeat music when you head out for clubbing vs. when you are home, you may listen to a different music.
- Books are inadvertent identity claims. This is not so deliberate, but is a behavioral residue over a longer time period. Just by looking at the variety, topics, and organization of books at home, we can tell so much about the person. For example, does the person read a wide variety of books (openness), are the books actually read, are there notes, how are they ordered -- neatly or messy, are cheesy books hidden behind, etc.
5. Language is the backbone of our expression.
- There are a lot of approach to understand human behaviors based on their linguistic styles. The use of pronouns (which we think is garbage word) can already reveal sex and age of a person.
- 140 characters in Twitter can tell so much.
- Usage of word "I" : more common among females. more common among people with low social status. Usage of word "We": group action. but also reflects future trouble (meaning, followed by "but")
6. What do we need to know to know a person?
(a) big five traits (openness = creativity + interest + opinions, conscientiousness = daily life, extraversion = documenting life, agreeableness = polite topic covered, neuroticism = cathartic or auto-therapeutic purpose - standard way, look Goldberg 1992, Costa and McCrae 1992)
(b) personal concerns (visions and goals)
(c) identity (personal myth - very difficult to measure)
May 15, 2009
John Wilkes
May 9, 2009
Chocolate pie chart
If tempted to put on your paper, consult Mary and Matt storeApr 18, 2009
Social Mobile Web 2009
Topics:
Novel social interactions on mobile devices.
Social mobile content sharing and distribution services.
Context aware mobile services - beyond location based services.
Social mobile search and social mobile browsing.
User evaluations of social mobile services.
Mobile user interfaces that incorporate social elements.
Mobility and social networks.
Models of mobile social behavior and mobile traces.
Urban gaming, mobile mixed reality, etc.
Innovative social mobile applications.
Apr 9, 2009
Plotting Venn diagrams

Apr 7, 2009
Crawling YouTube
for comment_entry in comment_feed.entry:
print comment_entry.ToString()

