Highly Structured Temporal Data

Tracking and comparing psychotherapeutic data derived from question- naires involves a number of highly structured, time-oriented parameters. Descriptive and other statistical methods are only suited for partial analysis. Therefore, we created a novel spring-based interactive Information Visualization method for analysing these data more in-depth. With our method the user is able to find new predictors for a pos- itive or negative course of the therapy due to the combination of various visualization and interaction methods.


Introduction
Visualization tools have been used in the medical domain for a long time. The majority of methods and tools was developed in the field of scientific visualization, for example 3D volume visualization tasks or computer tomography visualizations. In the field of medical treatment planning different kinds of data need to be explored in the reasoning process, such as time-oriented patient data or the course of the patient state. Information Visualization (InfoVis) techniques can be used to support this exploration process and promote a deeper level of understanding of the data and information under investigation. To complement them, task-specific interaction methods have to be developed.
Our aim is to support a psychotherapeutic study on anorexic girls where high dimensional, abstract, time-oriented medical data is collected. The analysis of these data is a challenging process. One way to deal with this problem would be to apply statistical methods. However, these methods are limited to prove known hypotheses, need a large sample size, and can hardly capture the complex process of therapeutic interventions with not yet discovered hypotheses. To overcome this limitation, we are investigating interactive information exploration techniques to support the model building process.
We have developed a new interactive InfoVis method, called Gravi++ 1 , to observe new interdependencies between various kinds of parameters. Gravi++ uses the capabilities of the human perceptual system by displaying moving icons on the screen following a spring-based model [5] to facilitate the reasoning process. Furthermore, this process is strongly supported by task-specific interaction methods.

The Medical Problem
Gravi++ is intended to analyze questionnaires of girls with eating disorders (Anorexia Nervosa (AN)). At the Department of Child and Adolescent Neuropsychiatry, Medical University of Vienna, a study is taking place, in which alternative therapeutic processes (cognitive behavioral therapy) of anorexic girls are compared. The psychologists and physicians who are working with the girls need to explore the data in an experimental way in order to derive time-oriented quantitative and qualitative information on the states of the patients. The important features of the involved data structures are their data types, complexity (highly structured), and temporal dimensions.

Data Characteristics
Every patient, their parents, and their therapists have to answer an extensive set of questionnaires before, during (three-monthly), and after the therapy (each time 20 questionnaires per patient, four per parent and one per therapist). Each questionnaire consists of about 40 questions. An additional challenge is that the questionnaires are not all asked in the same interval. Some are even used only once. After a normalization process the data derived from these questionnaires ranges from '0' to '6'. This range can mean 'yes' to 'no', but can also stand for nominal values like 'feeling guilty after eating a meal'.
The medical experts analysed by hand part of the data and identified the following predictors: (1) Predictors for a negative therapeutic course are 'lacking close friendships', 'comorbid personality disorder', 'low self directedness', 'lacking sincerity in answering questionnaires because of highly social desirable answering style', and 'denying disease'; (2) Predictors for positive course are a 'decreasing depression score after half a year of cognitive behavioral therapy (CBT)' or an 'increasing value of feelings of pleasure by doing favoring activities after three months of CBT'.
The analysis process to find new predictors was a time-consuming and cumbersome task. Therfore, we were looking for more visual techniques, which lead to the development of the new visualization technique Gravi++.

Related Work
Different kinds of InfoVis methods were developed in the last years. Important features of InfoVis methods are to support the exploration process of complex, heterogeneous data promoting a deeper level of understanding of the data and information and to foster new insights into the underlying exploration process and the data themselves [19,3].
Highly structured medical data, such as psychotherapeutic data, impose an additional challenge due to their complexity and their temporal dimensions.
Various visualizations like Worm Plots [10], the Zoom Star solution [13], the TimeWheel [16], the Table Lens [15], Stardinates [9], and LinkVis [8] exist which visualize such kind of data utilizing different approaches. We decided to emphasize the exploratory nature of finding new interdependencies (such as predictors) and support this by multiple interaction possibilities to explore the temporal data thoroughly.
We were inspired by the outstanding idea of the Vibe System [6] to position document icons according to the occurrence of keywords with a spring-based system and adapted that idea for our core visualization. A similar approach was proposed in the RadViz method [2] to map a set of m-dimensional points onto two dimensional space. The FreeViz [4] approach extends the idea of RadViz with an automatic optimization procedure that chooses the best projection to seperate different classes. The SpringView system [1] combines RadViz with a coordinate-based visualization to overcome the problem of overlayed data points. The idea for the different metaphors was inspired by the work of [11]. Animation is one way to effectively visualize temporal changes, which is shown in [12]. Furthermore, to present another view of multidimensional data, we used Star Glyphs such as those presented in the XmdvTool [18]. The answer is modelled with an (invisible) spring. The higher the question is answered, the stronger the spring pulls to the black rectangle. We plotted the springs to illustrate this general principle.

Concept
The human perceptual system has a remarkable ability to organize and locate things spatially, judge comparative sizes, distinguish between a large range of colors and patterns and perceive motion [14]. Gravi++ tries to utilize these human capabilities by positioning icons on the screen. There are two kinds of icons representing (1) patients and (2) questions from the questionnaires respectively (compare Figure 1). Every patient is attracted by the questions according to the answer she gave. This is modeled with a spring-based system. Every question is connected with every person by a spring. This is illustrated in Figure 1 showing a person who is attracted by three questions. The strength of the individual springs depends on the answer the patient gave. This way, every persons' icon position on the screen identifies how she answered the involved questions. This leads to the formation of clusters of persons who gave similar answers. Because of the fact that things that are close together are perceived as a group, the finding and differentiation of clusters is an easy task for the human perceptual system according to the Gestalt Laws [7]. In Figure 2 all persons gave similar answers to the questions MFRS1, FAMOS14, and EAT13. Therefore, their icons form a cluster near EAT13. Furthermore, this tells us, that all persons have answered EAT13 with a higher value than the other questions.
The size of a person's icon can be mapped to any additional parameter (for example to the body mass index of the patients) or to the attraction force. In the second case the sphere is larger if it is attracted by higher values. This feature helps discriminating different icons that are attracted by the same values with a different coefficient. For example, if a person 'A' has answered the questions one, two, and three with answer number one, the icon is on the same place as a person 'B' that has answered each question with answer number five. By mapping the attraction force on the icons, person 'A' would be visualized bigger than person 'B'. By displaying both persons with transparent colors both icons can still be distinguished.
To visualize the changing values over time, Gravi++ uses animation. The position of each person's icon change over time allowing to trace, compare, and analyze the changing values. Alternatively the change over time can also be represented by traces. The size and path of the person's icon is shown corresponding to all timesteps or only to a restricted subset like the previous and the next timestep (see Figure 6).
To visualize the exact values of each question, rings around the question's icon can be drawn. The ring size corresponds with the attraction to the question. To avoid overlapping rings with the same value, they are put closely side by side.
In addition, Star Glyphs [18] can be shown, which communicate the exact values. The edges of the Star Glyph are connected with the corresponding question rings and both are drawn in the same color as the person icon. This helps the user to indentify the corresponding person. See Figure 3 for an example Star Glyph in Gravi++.
Missing data is handled by the system in three ways. First, if a person has answered no questions at a specific timestep, the icon of the person is transparent. Second, if not all, but at least one answer is missing, than a piece of the circle is shown in red. Third, in case of a missing value of the size of a person's icon, the icon is shown with a special marking.
Gravi++ is intended for a restricted parameter space. The more questions are selected, the smaller is the influence of a single question on the position of the person's icons. Furthermore, too many person icons lead to clutter because of overlapping icons. To select a suitable subset of parameters, we have implemented a list-based overview visualization.
The main aim of Gravi++ is to explore time-oriented data and to indentify predictors supporting the model building process. In the following, different kinds of interactions are explained to support that task.

Interactions with Gravi++
Gravi++'s main intention is to provide functionalities to get new insights into the data, like finding clusters or similarities in the movement over time. Furthermore, icons that are drifting apart can give important clues regarding the data. For this purpose Gravi++ provides a set of interactions.  -Highlighting a question: By highlighting a question, only the highlighted question's rings are shown. If no question is highlighted, all rings are shown.
-Show or hide all data rings: Generally show or hide all data rings around the questions.
-Show legend: Fade in a legend for the data rings, helping the user to identify the values they stand for.
-Highlight an answer's ring: This way a specific person is singled out and only the answer's rings belonging to that person are displayed.
-Hide question icons: All question icons can be hidden to reduce clutter and facilitate the analysis of traces or the Star Glyph.

Interactions on Person's Icons
-Add or remove a person's icon. -Change the parameter representing the sphere size: You can map the parameters of a single question, the power of attraction, or an increasing size over time to the sphere size.
-Highlight a person: A specific person is singled out and only the rings belonging to that person are displayed around the question icons.
-Hide person icons: All person icons can be hidden to reduce clutter and facilitate the analysis of traces or Star Glyphs.

General Interactions
-Show Star Glyph: The user can superimpose a Star Glyph of the currently displayed data set to clarify the actual values. The corners of the Star Glyph correspond to the positions of the questions.
-Inverse Star Glyph: The edges of the Star Glyph are painted either to the center of the visualization or outwards.
-Show traces: The user has the option to show traces ranging over all timesteps or only a restricted subset.
-Change the speed of movement: Adjust how fast the person icons are moving to their destination. The parameter can range from 0 to n, where 0 stands for no movement at all.
-Comfort features: The visualization provides a number of comfort functions to help the user save time. For example functions to add or remove all question's or person's icons.
-Selection of the timestep: The user can step to the next or previous timestep or select one from a list.
-Highlight Star Glyph edge: To highlight a person, the user can directly click on the corresponding Star Glyph edge.

Algorithm
As we explained the idea and concept of Gravi++ in section 4.1, now we present the algorithm for positioning the person's icons. The force from each person i and each question j for each axis (in our case for the x and y axis) is xf orce i = n j=0 strength j · value ij · f (qx) and yf orce i = n j=0 strength j · value ij · f (qy), where strength j stands for the manually set strength multiplicator of the question j (can be altered in the user interface and ranges from 0 = no attraction to n = an arbitrary value). value ij stands for the answer of person i to question j. f (qx) and f (qy) stands for the attraction over the distance for each axis. Currently, we use a linear function that grows stronger over the distance: f (qx) = qx j − px i , f (qy) = qy j − py i . Here qx j and qy j stand for the x, y coordinates of the question j and px i and py i stand for the x, y coordinates of the person i.

Implementation
Gravi++ was implemented as a prototype during the in2vis project 2 . The prototype was implemented in Macromedia Flash MX 2004 because of its rapid visual development possibility. Structure. The system consists of two visualizations that work closely together. There is an overview visualization (ListVis), to select a subset of a large data set. This subset can then be analyzed with the main visualization Gravi++. The data exchange between these two modules is implemented by drag and drop.

Interactive Information Visualization: Exploring and Supporting Human Reasoning
Processes http://ieg.ifs.tuwien.ac.at/projects/in2vis/ You can simply drag a person or question to Gravi++ and explore it further. Both modules support linking and brushing.
Features. In Gravi++ the position of the persons and questions can be changed by dragging them around. Questions can be limited to positions aligned on a circle (optionally evenly spaced). When this option is activated, the person icons can still be dragged around freely but will snap to the circle as soon as the mouse button is released. This final end position is always shown as a shadow on the circle. The interactions on questions and persons are implemented with context menus. The general interactions are implemented with a top menu bar and a redundant property window that allows quicker access of the options. You can see a screenshot of all three windows in Figure 4. Gravi++ was implemented with different metaphors which can be exchanged. The first option symbolizes persons as iron spheres that are attracted by magnets standing for the questions. The circles around the magnets stand for the magnetic fields and visualize the concrete answers. The second option shows the persons as people and maps the questions to paintings in an art exhibition. Here, the metaphor is explained by persons who are attracted by beautiful paintings. The person moves closer to those paintings she likes. The circles around the images stand for how much the person likes the image or not. Other metaphors can be implemented by exchanging the icons representing persons and questions.
The persons are color-coded with twelve distinct colors as Colin Ware proposed in [19]. To enable the user to recognize icons that lie on top of each other, all icons are drawn slightly transparent. To control the timesteps, a timeline was implemented showing the current timestep and providing the "video-like" controls play, rewind, stop, go to first/last frame, go to next/previous frame. Tooltips give complete information on the data item pointed at with the mouse. The data input was realized with XML files.
In Figure 4 you can see a screenshot of a typical application case.

Example: How to Find a Predictor
Predictors allow to assess the development of parameters after a certain treatment step had been performed. Therefore, we have to analyse the differences in the first answers and compare them with the differences over all timesteps. This can be done by watching the animations over time or analysing the plotted traces of the persons's icons. Furthermore, the change over all timesteps can also show some sort of pattern that indicates a new predictor. Experimenting sessions with our partners of the Department of Child and Adolescent Neuropsychiatry identified the following steps to find predictors. We will illustrate these steps using an example of our dataset consisting of nine patients and 73 questions in six timesteps (see Figure 6): Figure 6: The upper screenshot shows four questions and no discernable pattern in the traces. The lower screenshot shows the same questions ordered differently with two easily distinguishable clusters in the traces.
1. Our domain experts choose due to the problem characteristics the questionnaires ASW (inverted) 3 , BDI 4 , MR EVA 5 , MR SOC 6 and all persons from the overview visualization, which we add to Gravi++.
2. With the enabled option "Full Traces" we can analyse the traced paths of the persons over time.
way: The red icons and traces had a not favourable outcome in the therapy, whereas the green icons and traces had a positive therapy progress. This means we have to find clusters of evenly colored traces.
4. By positioning MR EVA and MR SOC on the one side and ASW (inverted) and BDI on the other side we can build two clusters of red and green traces.
In the upper screenshot on Figure 6 you can see the four questions before positioning (with no identifiable clustering of the traces) and on the lower screenshot afterwards (with two identifyable clusters of red and green traces).
5. By moving through the timesteps we can see that the randomly located persons in the first timestep, compose two clusters in the second and all later timesteps. Therefore, we can conclude that high values of BDI and the inverted ASW after three months therapy predict a bad outcome of the therapy, whereas high values of MR EVA and MR SOC predict a good outcome. Furthermore, we verify this claim by watching the movement over all remaining timesteps. In our example the persons with a positive therapy outcome still move further to the pole with MR EVA and the MR SOC and the persons with a negative outcome to the other pole. This means we can conclude that low BDI values and high MR EVA, MR SOC, and ASW values could be a predictor for a positive therapy outcome. This is confirmed by the clinical impression that patients who respond more rapidly to the primary therapeutic goals (enjoying pleasure and being in a good mood), have a better outcome.

Benefits and Limitations
The visual elements of Gravi++ use several advantages from a cognitive perspective [3]. Especially, the interactive manipulation can help the user get new insights through the data. This can be used to formulate hypotheses on the data e.g., to find a new predictor. The combination of different visualization techniques, like Star Glyph, traces, an overview visualization, and the Gravi++ core itself increases the possibilities to find new insights. Nevertheless, some problems and shortcomings of Gravi++ are not solved yet. Incomplete data lead to incomparable person icon positions because there is no attraction from questions that were not answered. A solution to this problem could be to use the value from the last timestep, to use an average value, or a default value. A restriction of Gravi++ is the parameter space. Too many questions lead to clutter and make the interactive change very difficult. The impact of one question on the person's position declines the more questions are shown. Furthermore, if too many persons are analyzed, many icons would overlap and it would be difficult to interact with the representation. This could be solved with a similar approach like the one proposed in [17]. Another problem of a large number of persons would be, that the values of the rings surrounding each question get indistinguishable. This happens because rings representing the same value are not shown on top of each other but next to each other. The solution for such situations ist to use highlighting of subgroups for detailed exploration. A possible extension to Gravi++ could be an algorithm that automatically positions the questions to find clusters of persons. Demsar et al. proposed an algorithm in [4] that could be extended for our temporal dataset.

Conclusion
We have presented an interactive Information Visualization method, called Gr-avi++, which addresses the particular features of abstract, highly structured and time-oriented data which are acquired during cognitive behavioral treatment (CBT) of anorexia nervosa in adolescent girls. These data are difficult to explore by descriptive and other statistical methods because the domain experts have no well-defined hypotheses available to verify and the information space is too large to be analyzed with these methods. Therefore, one main aim was to develop visual and interactive methods, which help the domain experts to find such hypotheses (in the form of new predictors) in the time-oriented data and to support the model building process in the next step. After finding such predictors and a more accurate model, they need to be tested with statistical methods.
We have used Gravi++ in different settings with our domain experts to find such predictors (an example of such an exploration process is given in Section 5). Our cooperating psychologists found different kinds of process-and statepredictors. Within the exploration process, our interactive methods supporting the exploration of the time-oriented data were judged as very useful to detect particular patterns, to select other questions, and to group the questions in various ways. The different visualizations were used to compare various observations and the proposed traces of the therapeutic courses were assessed as a very appropriate way to explore the data over time.