Reports Cases '05
In April 2005 the committee Stars '05 organized a trip to the China and Malaysia. The following companies provided a Case Study for that study tour. The reports of these casestudies can be read by clicking on the names of the companies. They give a good impression of the possibilities, but companies are of course always welcome to come with other proposals.
Case from UOCG (I)students: Laurens van der Starre & Ilja Plutschouw.
Support the transision to, and inventorise the new ICT infrastructure of the UOCG.
The UOCG ("Universitair Onderwijs Centrum Groningen" or "Academic Education Centre Groningen") is an institution that concentrates on educating teachers, innovating education and improving and guarding the quality of education as a whole. It's a centre of expertise and knowledge on the subject of education. The UOCG also deploys, supports and develops educational software ("electronic learning environments), used at universities and highschools.
The UOCG is a new institute, being the result of a merger of three different academic institutes: the ECCOO, UCLO and COWOG. These three institutes all had their roots in the field of education, electronic learning and innovation. With the merger, the three former institutions moved to one location. A new infrastructure was build to accommodate all the needs of the UOCG.
Because the UOCG is a merger of three institutes, all the differtent electronic mail, agenda and fileserver services had to be facilitated by one central system. The employees used different mail clients, different mail protocols and different mail servers. The goal was to inventorise the software and systems needed and used by the individual employees, migrate the "old way" of sending and receiving email to the "new" university wide central system, centralize the agenda system and connect every workstation to the central Novell application server. Ilja and Laurens were mainly involved in the mail migration and software and systems inventorization.
The mail migration proved somewhat difficult. The idea was to migrate the locally stored mail to mail stored at the IMAP server. In the case mail was already stored at an IMAP server, an IMAP-to-IMAP conversion had to take place. Migration tests brought up a lot of unexpected troubles (e.g. the migration tool used to migrate the locally stored mail showed incompatibilities with the locally stored mail folders, the IMAP-to-IMAP tool showed problems with IMAP-folders etc). After all problems were sorted out, and the central mail servers proved stable, the employees's mail were migrated and software and system needs were stored in a database system.
The second part of the case consisted of a evaluation of the new ICT infrastructure of the UOCG. With the transition to centralized servers and a new ICT infrastructure, questions arose whether this is what the UOCG really needed, and what was missing to facilitate the employees. Laurens and Ilja interviewed project leaders to find out what their needs were. On the other hand, the ICT infrastructure was analysed for inconsistencies and expectations. Laurens and Ilja interviewed project leaders and other employees to find out what they missed in the ICT infrastructure or expected to get.
The results of this research were delivered in a written report. It will be used by the UOCG to assess their investment in the ICT infrastructure and see where new investments are needed. The report is for internal use only, so no conclusions and findings will be discussed here.
Case from UOCG (II)students: Niels Maneschijn & Bastiaan Zijlema
The UOCG (Universitair Onderwijscentrum Groningen) is part of the University of Groningen and it is involved in all aspects of education. It consists of the former UCLO, ECCOO and COWOG. Its main activities are:
- training of teachers
- in-service training
- development of supporting systems and support of monitoring examining and quality control
It organises workshops, training sessions, presentations and theme days. It also arranges internships for students who want to become a teacher.
The UOCG has a database system for keeping track of the participants in different courses. It also contains the organisations and schools where future teachers can take their internship. The database as well as the user interface is implemented in MS Access. Use of this system for a few years has uncovered the need for a number of extra fields and features, as well as a structural overhaul to differentiate between the different parts of organisations. Also, a billing system for course participants is needed.
After consulting the different stakeholders we have altered the structure of the database and are now in the process of implementing the support for these changes in the user interface. Also, we have made some cosmetic changes, added a number of extra data fields, and implemented additional search methods.
To implement the possibility to divide organisations into different departments we had to make changes to the data model. A problem while designing the new data model was that we are building on an existing system. Because there is already a large amount of data in the database, we cannot change the data model too much. If we do change it, we’ll have to transform the data in another form. This requires some thorough thinking, but everything turned out to perform well.
Further research has to be done on the requirements for the billing system, before this can be implemented.
This case study is very interesting and entertaining to accomplish. We learned a lot, mainly about MS Access. Also the UOCG provides a pleasant and very open working environment. We think we really contributed to the working of the database system, and realised some major upgrades to the system. We hope that, after an initial testing phase, we can take the upgraded system in production soon.
Case from UOCG (III)students: Else Starkenburg & Thijs Hollink
UOCG is an abbreviation of “Universitair Onderwijscentrum Groningen”. This centre is the successor of the former “Expertise Centrum Computer Ondersteund Onderwijs” (ECCOO), “COWOG”, and “Universitair Centrum voor de Lerarenopleiding” (UCLO). The main tasks of the UOCG are divided over five divisions, Teaching Education, Teaching and Professionalisation, Development of the Learning Environment, Organisation of Education and Evaluation and Quality Control. The first division, Teaching Education, offers courses for students who want to become teachers in secondary education. The second, Teaching and Professionalisation, offers courses for academic and secondary education teachers. The division Development of the Learning Environment, focuses on computer supported innovations in education and develops the Electronic Learning Environments “Nestor” and “Brainbox”. Organisation of Education has developed several products for registration of student results, a course database and a room reservation system. Furthermore they assist teachers in improving their multiple-choice exams. The last division, Evaluations and Quality Assurance, assists the faculties of the University of Groningen and schools in secondary education with designing and implementing their quality assurance systems.
After the merge of the three organisations, already some progress has been made in the process of merging the bulk of information on the respective websites of the former UCLO, COWOG and ECCOO. The global outline was finished, but still final integration between the different parts was lacking. The names of the former organisations, for example, were still mentioned in many different places. Some divisions also needed some help in completing the information on their part of the website, since it is often difficult to find somebody with enough spare time within their own department. Furthermore, the staff of the UOCG planned to develop a so-called Intranet, a password-locked part of the website where internal document exchange can take place. So, altogether enough work to do for two students in three weeks. Our task was to integrate and extend the different parts of the UOCG website. This came mostly down to getting information about several subjects from the responsible staff member and putting it onto the website, thinking about the overall structure of the website and integrating the information of the five divisions as much as possible. We also updated the personal pages on the website and tried to remove out-of-date information.
These tasks required us to communicate with many different members of the UOCG staff. We had to contact a lot of people in order to cover all the subjects the UOCG is engaged in. In the course of all this, we were able to realise a lot of requests from different staff members or divisions, about the part or project they were responsible for.
Now, a few days before the end of the case study, we have finished the major part of the UOCG website and Intranet. In the next days we will have to finish tasks concerning the accessibility of the website for disabled people, completing the schedules and other information on the site for next year students and course members, offering recent pages with personal information of the staff members and completing lists of reports and minutes on the Intranet-page. If possible, we will also document the maintenance intensive parts of the website.
Working on this case study has been very diverse, next to the editing and getting familiar with the content management software, we also had to talk to a lot of different staff members about the best ways of information offering. We both see this as the best and most challenging part of our case study. Another challenging thing about this case was that we ran into a lot of problems along our way and that we were never quite sure beforehand what our next task would be. The first often involved problems with the content management system of the website.
Hereby, we would like to thank all employees of the UOCG that helped us during our case study for their guidance and ideas and we hope that we have been able to develop a website which satisfies most of their requests, wishes and ideas.
Case from UMCGstudents: Ewoud Werkman & Wim Ottjes
contacts: Stephen Peuchen, Jantien Oppentocht & Feiko Jilderda
The Research Office at the University Medical Centre Groningen (UMCG) is responsible for the creation and implementation of the UMCG research policy. One of the main tasks is research quality control. This task consists of co-ordinating a periodic internal self-evaluation and using the results for the research programming. They do this by assessing the research output for the aforementioned internal evaluation and as well as for the national external evaluation.
Every year a search is conducted on the research output of all scientists who have published in well-known medical journals. These medical journals publish all their articles using several different publication databases found on the Internet. These databases are Web of Science, Embase and Medline. Goal of our case study was to search those databases for all publications of the scientific staff of the UMCG. Therefore we needed an up-to-date database with all staff of the UMCG. The Research Office possesses a database with this information, but its database model did not qualify for generating a list of all current scientific staff for each different database.
Ewoud’s task was to redesign the database model and extend it in several ways for easy data input and data change. One of the main problems in searching for names in the aforementioned databases is that some people use different, or not all of their initials when publishing articles. We extended the database to support these kinds of exceptions and added automatic export facilities to handle these exceptions when searching for names in the different databases.
After this part was finished, Wim could start with the search for the articles in the different databases. For Web of Science, there is a web-based search interface that could be used. The program Winspirs can access Embase and Medline. All articles needed to be imported into a Reference Manager database. The current version of Web of Science is able to export directly into a Reference Manager database. Winspirs lacks this ability, so all articles needed to be downloaded in a text-based format and imported into a Reference Manager database afterwards. Duplicate articles were one of the biggest problems that arose when downloading articles from different queries in different databases. Since the databases have some overlap and two scientific staff members can be mentioned as author for the same article, downloading duplicates was unavoidable. Furthermore, downloaded articles from persons that are not working in Groningen but have the same name and initials should not be charted. Adding a location restriction (Groningen) excludes too many results, so we couldn’t use that most of the time. All these articles had to be checked by hand. After excluding all duplicate and alien articles, all Reference Manager databases were merged. After a final check it will be possible to use the results for generating the Annual Report of the UMCG.
We managed to decrease the complete search time with one week compared to last year. After we finished the charting of all publications, we evaluated the several problems that arose during the search operations using the automatic export and during the search operations through the different databases. We have made some recommendations on how to tackle them for the benefit of next year’s chart.
Case from UB (I)students: Martijn Bodewes
The University Library (http://www.rug.nl/bibliotheek/) of the Rijksuniversiteit Groningen (RuG) has a department called Digital Library. This department builds applications for the library and supports the digital working environment in the library. One of the main projects the digital library department is working on today, is the electronic storage of documents in a large database. Such a database is called a Repository. These repositories can easily be integrated into the University webplatform and can easily be made accessible for users from inside and outside the university.
With each document there is a set of metadata associated to it. Metadata is data like the title, the name of the author, the date of publishing, etc. This metadata is stored in a repository. In the near future the RuG is going to work with a new system to record its scientific output. The old system (called Ozis) is replaced by a new system, called Metis. In Metis it is possible to collect all kinds of data. One of them is publications. These publications can be described by metadata. It is an obvious step to combine the repositories with Metis. Filling in the details of a document in both systems is bound to be error prone and it is time consuming. To circumvent these problems the two systems should be combined into one system. But the two systems differ too much to do this fairly easily in a short amount of time. The solution is to use the metadata from one database and import it into the other one.
The developers of Metis have built in a new feature, an upload button, this button is used to upload the metadata entered into Metis to a web application. This web application then stores the metadata in a repository. Before the web application that can handle the upload could be built, some research had to be done on the internal workings of Metis, because Metis is a new system at the RuG and currently nobody is using it at the university. After the internal workings of Metis were better understood, the design of the web application could begin. Fortunately, there was already a web application that provided an upload service to the repositories. In the existing one, users had to fill in all data themselves. The final design was to extend the existing upload facilities to interoperate with the upload button in Metis. The final result is an extended upload facility that is capable of handling Metis upload requests.
I had a good time at the digital library department, especially the research into the problem and design of the solution were interesting problems. With more research it could even be possible to combine more of the systems at the library.
Case from UB (II)students: Feike Kramer
contact: Henk Ellerman
supervisor: Drs. J. Jongejan
Current developments in sustainability, energy and environment are the centre of interest. A great part of research is being conducted in the northern region of the Netherlands. The research is not only conducted at the University of Groningen and the University of Twente, but also at other institutes like the International Gas Union, the Centre for Energy and Environmental Studies, Energy Delta Institute (EDI) and the Hanzehogeschool Groningen. The University Library works on a project, called ‘NorthSee’, its target to create a repository containing scientific and scholarly output of this research and education and creating a number of services on that. The result will be an operational portal that serves as a knowledge centre of international importance. The assignment of this case study was to create an initial version of this portal with advanced search capabilities and a rating and reviewing system.
The most important function of this portal is its search capability. The visitor of the website should find the articles of his interest easily and quickly by querying for title, author or other attributes and selecting the repositories of interest. The articles are stored in many different repositories, but for searching through all these repositories only one interface exists, called MetaLib. To communicate with MetaLib the portal should send XML files back and forth to the MetaLib server; first to authorise and authenticate, then to send a search string. The MetaLib server answers with the number of search results in the different repositories. Querying the MetaLib server again can fetch the metadata of the articles. Because of the large number of articles available and the different styles used by the different institutions to store metadata of articles, it is difficult to streamline the different attributes of the metadata. Most important are title, author, year of publication, keywords, ISSN and ISBN numbers and the link to access the full text of the article. Another function of the portal is to rate and/or review the different articles. I developed a rating and reviewing system, which generates a number of lists, like the most viewed, top rated, last reviewed and most reviewed articles.
The University Library’s requirement was to develop the portal in a PHP/MySQL environment. The portal contains a content management system that enables the users to maintain the different pages easily. The result of my case study can be found at http://northsee.dare.ub.rug.nl. Because the portal is still in development by the University Library, some parts of the site don’t work as expected.
Case from NAMstudents: Johan Brondijk & Joris Kampman
One of the three areas in the world most interesting for oil and gas drilling is the North Sea. There are a few hundred oil and gas fields currently in operation, and also a few hundred production installations to transport the oil or gas to the surface. The early fields, which are in general larger, have been in production since the 60’s. In the period between the 80’s and 90’s the production increased further, and a peak was reached around 2000. Now, the North Sea is regarded as a mature province on a slow decline. Although the earth below the seabed is (on a rough scale) well known, still new discoveries are made, but these are mostly smaller, harder to exploit fields. However, thanks to ever more sophisticated technology, important amounts of oil and gas can be drawn from them. At a certain moment a platform will come to a state in which it is not cost-effective anymore, and it will be decommissioned. The exact moment is difficult to predict; it depends on many things including the price of oil, technology etc. In areas such as the Gulf of Mexico a large number of platforms are already decommissioned. In the North Sea only in the order of 15 rigs are decommissioned (for example Brent Spar (Shell, ’91-’99), K11 (NAM, ’97), but in the near future, the next two decades, there will be more wells which cease production (13). At this point the decision has to be made, what to do with the abandoned structures. A brainstorm session and a small research resulted in several ideas, which are grouped in five categories. Two of them are specified in the report: Total removal and on-shore dismantling, reuse of the structure as a whole, reuse for a non oil or gas related activity and reuse of parts of the structure. Also the history of other disused platforms, risks and legislation have been investigated.
Because limited time was available, focus was aimed on two of these options, namely the total removal option and the option of creating artificial reefs using offshore structures. For the first option two Dutch companies have been contacted, the Ecodock N.V. project and ROS Holland B.V. For the second option a Dutch expert in the field of artificial reef research has been contacted. In this area also much more literature is available. The Ecodock project has not been realised yet. The plan is to build a demolition dock in the Eemshaven, in the north of the Netherlands. From their website: “The aim of Ecodock is to gain and keep a leading international position in the field of demolition of dry-cargo ships, tankers and platforms, whereby ecologically sound working methods, favourable employment conditions and profitable exploitation form necessary conditions.” Ecodock has a lot of potential for the near future regarding the decommissioning of gas producing platforms owned by NAM. ROS Holland was incorporated as Ltd with five companies as shareholders: towage and salvage specialist Svitzer Wijsmuller, mechanical contractor Genius Vos, electrical & instrumentation contractor Fabricom Oil and Gas and consultancy and engineering group DHV and HKS Metals (Wrecking company). These five companies should be able to handle the entire process of dismantling the decommissioned gas production platforms as well as the entire spectrum of possible problems that may be encountered. DHV has got experience in demolishing onshore constructions and is the driving force behind ROS Holland BV. When a tendering procedure is in at hand, DHV consultants set about to assess the problems and possible bottlenecks. It is expected that ROS is able to come with a competitive, competent and environmentally correct plan.
It is rather clear that the creation of artificial reefs in the North Sea has economical and ecological advantages. If properly cleaned, parts of disused oil or gas production platforms, in particular the jackets, form excellent structures for the building of artificial reefs. In this way the largest parts of the structure do not have to be transported over often great distances, reducing the transportation costs for oil companies significantly. Good regulation and monitoring is very important, in particular in the case of using waste material as building blocks for the reefs.
Case from XPar Visionstudents: Joost Massolt & Sietze van Buuren
Case XPAR Vision XPAR Vision BV, with headquarters in Groningen, the Netherlands, supplies hot end infra-red camera equipment to the container glass packaging industry. The infra-red cameras are strategically configured as close as possible to the forming process, namely along the conveyor belt and just after the IS-machine (Independent/Individual Section container forming machines are made up of individual but identical sections placed side by side in line). From this position thermal images of newly formed containers are captured and analysed in real-time. The working principle of the infra-red technology has been patented by XPAR Vision. It is the application of infra-red technology, combined with the optimal position in the glass production process, that makes it possible for glassmakers to aquire real-time information about the temperature and the glass distribution of their products (for instance jars and bottles). Consequently, for the first time glassmakers are capable of simultaneously improving the quality of their products, increasing the pack-rate and optimising their hot end output performance. XPAR Vision now wants to develop a technique which allows the glassmakers to have a look at the temperature profile inside the glass. A non-uniform temperature distribution inside a glass bottle can result in defects in the glass, resulting in a glass bottle with considerable less strength. This makes it important for glassmakers to be able to recognize these non-uniform temperature distributions in glass. Our task was finding a method to measure the temperature profile inside a glass plate and a glass bottle. We investigated two candidate methods. The first candidate involved an infra-red camera with a variable viewing angle. Changing the angle of incidence of the camera with respect to the glass, one should be able to receive extra information. This information could be used to reconstruct a temperature profile. To test the usefulness of this method we made a model using Matlab that calculated the intensity under a variable incidence angle. The reflections and refractions in a glass bottle can become somewhat complicated, as shown in the figure.
|Fig 1: The reflections and refractions in a cylindrical bottle|
However, we found out that it was not possible to obtain the desired information of the temperature profile. In the second method two cameras were used. They were positioned opposite of each other, with the glass specimen in between. Comparing the data in a Mathematica-simulation of both cameras for different temperature profiles (which were inverted from the centre), we could determine if we could see whether the peak of the profile moved to one side of the glass. There was only a small deviation of the measured values, compared to those of the method described above. Therefore it is doubtful whether this method should be used in practice. As time of this case study had run out, we weren't able to finish it completely. However, Sietze will do an internship, in which he can continue working on this project. Results of that internship are, however, out of scope of this report.
Case from Océstudents: Anisa Salomons & Bernadette Kruijver
Océ Printing Technologies is one of the world’s leading suppliers of high-quality and innovative products and services for use by professionals in print and document management processes. The company focuses primarily on professional environments in which large volumes of documents are processed. Océ’s customers are therefore mainly active in the industrial and printing sectors as well as in office environments. For this purpose Océ develops and manufactures its own advanced machines and systems for use in the production, distribution and management of documents. Océ also offers its customers innovative services in the areas of consultancy, outsourcing and – in cooperation with partners – financing. In-house product development and consistent investment in Research & Development are characteristic features of Océ. They provide Océ with its own unique technology base, which largely forms the cornerstone for the success of the product range. Océ’s innovative capacity is also broadened and reinforced via alliances with strategic partners and via cooperation with codevelopers. Océ operates in eighty countries and has its own sales companies in some thirty countries. The company has over 21,000 employees, 40 per cent of whom work in sales and service. Océ’s research and manufacturing facilities are located in the Netherlands, Germany, Belgium, France, the Czech Republic, the United States and Canada. [Annual Report Océ 2004] In our case study we have tried to answer the following question: Are the circumstances in Malaysia and China beneficial to develop R&D activities? For our research we have conducted interview with several companies of Western origin in the countries. Besides this we have done a literature study. For an extensive explanation of our case study we refer to our report. Here we will only summarize our conclusions. In comparing Malaysia and China, the latter comes forth as the best location to employ R&D activities. Malaysia has some advantages, like the large number of native English speakers and the more transparent governmental system. The biggest disadvantage is the relatively high wages in Malaysia and it is probable they will rise even further. China has 1.3 billion citizens causing a slower rise of the wages. The education level in urban areas increases rapidly. Nowadays there are five times (11.1 million in 2003) more people higher educated as in 1990. Furthermore China cannot be ignored in the world market. For every five people in the world, there is one Chinese. Besides that the Chinese economy is growing very fast (9 percent in 2004). To acquire a good position in this fast growing market, it is better to start today than tomorrow. As an old Chinese proverb says: “The best day to plant a tree was twenty years ago, the second best day is today.”
Case from SKFstudents: Ruben van der Hulst
contact: Dr. E. Vegter
supervisors: Y.T. Pei & Prof. Dr. J.Th.M. De Hosson
SKF, Svenska Kullagerfabriken, is a Swedish company founded in 1907. At that time, the company manufactured roller bearings based on the patent of the self-aligning ball bearing by Sven Wingquist. In 1910 SKF had 325 employees. Nowadays, SKF has about 40.000 employees world-wide and is the leading global supplier of products, customer solutions and services in the rolling bearing, seals, mechatronics and lubrication systems as can be read on their website www.skf.com. In 1972 the SKF Engineering & Research Centre in Nieuwegein, the Netherlands, was opened. This case study was done for this centre and was not a normal case in the sense that it was also my Bachelor research project. Therefore, I did twelve weeks of research. Also I did the case on my own.
Bearings are mostly used in machine shafts and vehicle axles to reduce friction. They consist of an inner-ring and an outer-ring separated by a set of balls. In order for bearing components to last as long as possible, many efforts have been spent on identifying the causes of failure of rolling contact fatigue. One of the reasons of fatigue failure during rolling contact is the presence of non-metallic inclusions. In this research, micro-structural changes around non-metallic inclusions (Al2O3 particles) were investigated. These microstructural changes appear white after etching, being more resistant to the chemical attack of the etching than the surrounding matrix. Because of this feature, these micro-structural changes are sometimes known as ‘white etching areas’. They are called wings of a ‘butterfly’ as well, because of their shape (see Fig. 2).
|Fig. 1 Different ball-bearings||Fig. 2 Optical microscope image of a butterfly|
As can be seen in Fig. 2, a butterfly consists of an inclusion (the big, more or less round particle in the middle) and two wings. A wing is composed of a crack (see A in Fig. 1) and a white etching area (see B in Fig. 1), looking like the smooth part and the feathery part of a wing, respectively. On the right side of the particle the crack is above the wing, while on the left side the crack is below the wing, as can be seen on Fig. 2. This has something to do with the rolling direction of the bearing. So if you would roll the bearing in the other direction, the wings will form on the other diagonal and on the right side of the particle, the crack will be below the wing and vice versa for the other side of the particle. The cracks which form around these particles sometimes extend to the surface, causing a failure of the bearing. In order to gain more knowledge about the butterflies, I determined the hardness (which is a property of the material) of the white etching areas using nano-indentation. Normal bearing steel does not contain a lot of inclusions, making it very hard to find butterflies. To make the search of butterflies on the materials a little bit easier, an artificially contaminated material is prepared which is a mixture of normal bearing steel together with Al2¬O3 particles.
Nano-indentation, or ultra-low load indentation is used to determine the hardness (H) and elastic modulus (E) of the specimens. With nano-indentation, an indenter is forced into the surface of your material, leaving a hole behind. The size of these holes is very small: approximately 1 µm. When the machine makes this hole, the load-displacement data are recorded. With this data, several properties of the indented material, such as the hardness (H) and the elastic modulus (E), can be calculated. Scanning electron microscopy (SEM) is a machine which is actually a microscope. The only difference with normal optical microscopes is that it uses electrons instead of light. Because of the shorter wavelength of the electrons, very high magnifications can be reached. With a normal optical microscope these holes can not be seen clearly, so SEM is used for observation of the holes in the indented materials. Also, a polishing and grinding machine is used for making the surface of the materials as flat as possible. This has to be done or else the nano-indentations will fail.
With the competition of other bearing companies in mind, the results of my research are confidential, so unfortunately I can give no information about that.
This case was actually the first research I did fully on my own. I liked doing it because of several reasons. One is that you get a lot of responsibility. You should deliver a reliable product (report) and also you should be very careful with the machines that you use, because these are very expensive. And although it took a lot of time, you can get a glimpse of what you may be doing later when you will be working in this industry.
Case from ProGrammastudents: Georg Muntingh & Wicher Visser
supervisor: Tom A.B. Snijders
An implementation of the ECM algorithm
Our employer and supervisor Tom A.B. Snijders is Professor of Methodology and Statistics at the Faculty of Behavioral and Social Sciences at the University of Groningen. The assignment was to implement a statistical algorithm in MLwiN. In order to do this, it needed to be worked out in detail.
The largest part of the algorithm was the computation of a certain spline. Since programming in MLwiN is rather cumbersome, we first implemented this part in Delphi. Aside from that, Professor Snijders also wanted an implementation of this part in Delphi for other usage.
The algorithm is called the Expectation Conditional Maximisation (ECM) algorithm. When supplied with input data (knots, corresponding data points and their weights), this algorithm computes iteratively the parameters of a certain model, in this case the Hierarchical Linear Model with an additional non-linear term. To obtain such a “fit” of the data, the expectation of the complete log-likelihood is maximised. Since this is computationally expensive, this maximisation is broken up into a linear maximisation (conditional on the non-linear part) and a non-linear maximisation (conditional on the linear part). This is looped until convergence. The linear part of the model is estimated by the Iterative Generalised Least Squares (IGLS) algorithm, which was already implemented in MLwiN. The non-linear part of the model is estimated by the algorithm that computes the natural cubic spline.
Calculating the natural cubic spline in Delphi
Georg started by reading chapters from the book Nonparametric Regression and Generalized Linear Models, written by P.J. Green, B.W. Silverman. In this book, an algorithm for calculating the natural cubic spline in linear time was explained. Part of the algorithm was described in detail, a part was coarsly described and a part was wrong. From this, Georg started to write an article in which the algorithm was described in pseudocode, ready to be implemented in any functional programming language.
Wicher used this article to start implementing, one by one, the functions from the algorithm in Delphi. While implementing and during testing of the functions, he found errors and ambiguities in the article. These were corrected by Georg.
When Wicher finished the implementation in Delphi it had to be tested. For this we looked for another implementation of an algorithm calculating the natural cubic spline. We found out about a free algorithm implemented in the free statistical environment 'R'. Comparing results indicated a little error. After correcting this error, the results of the implemented algorithm seemed to meet the precision of the algorithm. For an example of a comparison of spline fits, see figure 1.
|Language test score (y) against centered IQ score: raw data, cubic polynomial estimates (thin), quadratic regression spline estimate (dashed), and smoothing spline estimate (bold).|
Calculating the natural cubic spline in MLwiN
After this, Wicher implemented the algorithm for computing the natural cubic spline in MLwiN. This was a lot of work, and it was difficult to write it in the rather restricted form of the macros from MLwiN. Because the functions to implement in MLwiN corresponded one-to-one with the functions already implemented in Delphi, it was relatively easy to test whether the functions were implemented correctly.
The ECM algorithm in MLwiN
During this, Georg started to think about the way the ECM algorithm needed to be implemented in MLwiN. Professor Snijders explained almost everything in detail, but at first Georg found this difficult to grasp, mainly because of the opaque internals of MLwiN. After talking several times with Professor Snijders and reading about MLwiN, we were able to implement the ECM algorithm in MLwiN.
What it was like
We both felt very lucky to be assigned to this case. We learned a lot from doing this case, and it was very satisfactory to use mathematics and statistics they learned at university courses to actually create something useful. Because of the flexible hours it was easy to plan our activities. On top of that, Professor Snijders was very kind and patient and seemed more like a supervisor than an employer.